@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&family=DM+Mono:wght@400;500&family=Outfit:wght@700;800;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=DM+Mono:ital,wght@0,400;0,500&family=Outfit:wght@400;600;700;800&display=swap";.student-screenshot-blackout{position:fixed;inset:0;z-index:99999;background:#000;display:flex;align-items:center;justify-content:center;animation:studentBlackoutFadeIn .2s ease}@keyframes studentBlackoutFadeIn{0%{opacity:0}to{opacity:1}}.student-screenshot-blackout-content{text-align:center;padding:2rem;max-width:360px}.student-screenshot-blackout-message{font-size:1.125rem;font-weight:600;color:#fef2f2;margin:0 0 .5rem}.student-screenshot-blackout-hint{font-size:.875rem;color:#fca5a5;margin:0 0 1.5rem}.student-screenshot-blackout-dismiss{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:#000;background:#fef2f2;border:none;border-radius:.5rem;cursor:pointer}.student-screenshot-blackout-dismiss:hover{background:#fff}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.tiptap-wrapper{border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-secondary);overflow:visible;position:relative}.tiptap-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.toolbar-group{display:flex;gap:.25rem}.toolbar-divider{width:1px;background:var(--border-color);margin:0 .25rem}.code-language-select{padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;min-width:120px}.code-language-select:hover{background:var(--bg-hover);border-color:var(--primary-500)}.code-language-select:focus{outline:none;border-color:var(--primary-500);background:var(--bg-hover)}.code-language-select option{background:var(--bg-secondary);color:var(--text-primary);padding:.5rem}.tiptap-toolbar button{padding:.5rem .75rem;background:transparent;border:1px solid transparent;border-radius:.25rem;color:var(--text-primary);cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s;min-width:2rem;display:flex;align-items:center;justify-content:center}.tiptap-toolbar button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-500)}.tiptap-toolbar button.is-active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.tiptap-toolbar button:disabled{opacity:.3;cursor:not-allowed}.tiptap-toolbar button.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.color-picker-wrapper{position:relative}.color-picker-wrapper label{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;background:transparent;border:1px solid var(--border);border-radius:.25rem;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:700;transition:all .2s;min-width:2rem;position:relative}.color-picker-wrapper label:hover{background:var(--surface-alt);border-color:var(--primary)}.color-picker-wrapper label.is-active{background:var(--primary);border-color:var(--primary)}.color-picker-wrapper label span{pointer-events:none;z-index:1}.color-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;left:0;top:0}.clear-color-btn{font-size:1rem}.tiptap-editor-content{padding:2rem;min-height:450px;max-height:650px;overflow-y:auto;background:var(--bg-primary);color:var(--text-primary);font-size:1.05em;line-height:1.75}.ProseMirror{outline:none}.ProseMirror p.is-editor-empty:first-child:before{color:var(--text-muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror p{margin:1rem 0;line-height:1.75;color:var(--text-primary)}.ProseMirror p:first-child{margin-top:0}.ProseMirror h1{font-size:2.5rem!important;font-weight:700!important;line-height:1.2!important;margin:2rem 0 1rem!important;color:var(--text-primary)!important}.ProseMirror h2{font-size:2rem!important;font-weight:700!important;line-height:1.3!important;margin:1.5rem 0 .75rem!important;color:var(--text-primary)!important}.ProseMirror h3{font-size:1.5rem!important;font-weight:700!important;line-height:1.4!important;margin:1.25rem 0 .5rem!important;color:var(--text-primary)!important}.ProseMirror h4{font-size:1.25rem!important;font-weight:700!important;margin:1rem 0 .5rem!important;color:var(--text-primary)!important}.ProseMirror h5{font-size:1.125rem!important;font-weight:700!important;margin:1rem 0 .5rem!important;color:var(--text-primary)!important}.ProseMirror h6{font-size:1rem!important;font-weight:700!important;margin:1rem 0 .5rem!important;color:var(--text-primary)!important}.ProseMirror ul,.ProseMirror ol{padding-left:2rem!important;margin:1rem 0!important}.ProseMirror ul{list-style-type:disc!important}.ProseMirror ol{list-style-type:decimal!important}.ProseMirror li{margin:.5rem 0!important;line-height:1.75!important;color:var(--text-primary)!important}.ProseMirror li p{margin:.25rem 0!important}.ProseMirror code{background:var(--primary-light, #e0f5fd)!important;border-radius:.25rem!important;color:var(--text)!important;font-size:.875rem!important;padding:.2em .4em!important;font-family:Courier New,Consolas,Monaco,monospace!important}.ProseMirror pre{background:var(--bg-tertiary)!important;border-radius:.5rem!important;color:var(--text-primary)!important;font-family:Courier New,Consolas,Monaco,monospace!important;margin:1.5rem 0!important;padding:1rem!important;overflow-x:auto!important;border:1px solid var(--border-color)!important}.ProseMirror pre code .hljs-comment,.ProseMirror pre code .hljs-quote,.ProseMirror pre code [class*=comment]{color:#6a9955;font-style:italic}.ProseMirror pre code .hljs-variable,.ProseMirror pre code .hljs-template-variable,.ProseMirror pre code .hljs-attribute,.ProseMirror pre code .hljs-tag,.ProseMirror pre code .hljs-name,.ProseMirror pre code .hljs-regexp,.ProseMirror pre code .hljs-link,.ProseMirror pre code .hljs-selector-id,.ProseMirror pre code .hljs-selector-class,.ProseMirror pre code [class*=variable],.ProseMirror pre code [class*=tag],.ProseMirror pre code [class*=attribute]{color:#ce9178}.ProseMirror pre code .hljs-number,.ProseMirror pre code .hljs-meta,.ProseMirror pre code .hljs-built_in,.ProseMirror pre code .hljs-builtin-name,.ProseMirror pre code .hljs-literal,.ProseMirror pre code .hljs-type,.ProseMirror pre code .hljs-params,.ProseMirror pre code [class*=number],.ProseMirror pre code [class*=literal]{color:#b5cea8}.ProseMirror pre code .hljs-string,.ProseMirror pre code .hljs-symbol,.ProseMirror pre code .hljs-bullet,.ProseMirror pre code [class*=string]{color:#ce9178}.ProseMirror pre code .hljs-title,.ProseMirror pre code .hljs-section,.ProseMirror pre code .hljs-title.class_,.ProseMirror pre code .hljs-title.function_,.ProseMirror pre code [class*=title],.ProseMirror pre code [class*=function]{color:#dcdcaa;font-weight:700}.ProseMirror pre code .hljs-keyword,.ProseMirror pre code .hljs-selector-tag,.ProseMirror pre code [class*=keyword]{color:#569cd6;font-weight:700}.ProseMirror pre code .hljs-emphasis,.ProseMirror pre code [class*=emphasis]{font-style:italic}.ProseMirror pre code .hljs-strong,.ProseMirror pre code [class*=strong]{font-weight:700}.ProseMirror pre code .hljs-operator,.ProseMirror pre code [class*=operator],.ProseMirror pre code .hljs-punctuation,.ProseMirror pre code [class*=punctuation]{color:#d4d4d4}.ProseMirror pre code .hljs-property,.ProseMirror pre code [class*=property]{color:#9cdcfe}.ProseMirror pre code .hljs-char.escape_,.ProseMirror pre code [class*=escape]{color:#d7ba7d}.ProseMirror pre code .hl-keyword{color:#569cd6;font-weight:700}.ProseMirror pre code .hl-string{color:#ce9178}.ProseMirror pre code .hl-comment{color:#6a9955;font-style:italic}.ProseMirror pre code .hl-number{color:#b5cea8}.ProseMirror pre code .hl-function,.ProseMirror pre code .hl-title.function_{color:#dcdcaa;font-weight:700}.ProseMirror pre code .hl-class,.ProseMirror pre code .hl-title.class_{color:#4ec9b0;font-weight:700}.ProseMirror pre code .hl-variable{color:#9cdcfe}.ProseMirror pre code .hl-operator,.ProseMirror pre code .hl-punctuation{color:#d4d4d4}.ProseMirror pre code{background:none!important;color:inherit!important;font-size:.875rem!important;padding:0!important}.ProseMirror blockquote{border-left:4px solid var(--primary-500)!important;margin:1.5rem 0!important;padding-left:1rem!important;padding-top:.5rem!important;padding-bottom:.5rem!important;color:var(--text-secondary)!important;font-style:italic!important;background:var(--bg-tertiary)!important;border-radius:0 .25rem .25rem 0!important}.ProseMirror strong{font-weight:700!important;color:var(--text-primary)!important}.ProseMirror em{font-style:italic!important}.ProseMirror u{text-decoration:underline!important}.ProseMirror s{text-decoration:line-through!important}.ProseMirror a{color:var(--primary-500)!important;text-decoration:underline!important;cursor:pointer!important}.ProseMirror a:hover{color:var(--primary-600)!important}.ProseMirror img{max-width:100%!important;height:auto!important;border-radius:.5rem!important;margin:1rem 0!important;display:block!important}.ProseMirror hr{border:none!important;border-top:2px solid var(--border-color)!important;margin:2rem 0!important}.ProseMirror [style*="text-align: left"]{text-align:left!important}.ProseMirror [style*="text-align: center"]{text-align:center!important}.ProseMirror [style*="text-align: right"]{text-align:right!important}.ProseMirror ::-moz-selection{background:#667eea4d}.ProseMirror ::selection{background:#667eea4d}.ProseMirror:focus{outline:none}.tiptap-editor-content::-webkit-scrollbar{width:8px}.tiptap-editor-content::-webkit-scrollbar-track{background:var(--bg-tertiary)}.tiptap-editor-content::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:4px}.tiptap-editor-content::-webkit-scrollbar-thumb:hover{filter:brightness(1.2)}.code-block-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.code-language-badge{background:var(--primary-500);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.code-language-change{padding:.25rem .5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);font-size:.75rem;cursor:pointer}.code-language-change:hover{border-color:var(--primary-500)}.code-language-change:focus{outline:none;border-color:var(--primary-500)}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1.5rem 0!important;overflow:hidden!important;border:2px solid var(--border-color)!important;border-radius:.5rem!important}.ProseMirror td,.ProseMirror th{min-width:1em!important;border:1px solid var(--border-color)!important;padding:.75rem!important;vertical-align:top!important;box-sizing:border-box!important;position:relative!important;background:var(--bg-primary)!important;color:var(--text-primary)!important}.ProseMirror th{font-weight:700!important;text-align:left!important;background:var(--bg-secondary)!important;color:var(--text-primary)!important}.ProseMirror .selectedCell{background:#667eea33!important}.ProseMirror .column-resize-handle{position:absolute!important;right:-2px!important;top:0!important;bottom:0!important;width:4px!important;background-color:var(--primary-500)!important;pointer-events:none!important;z-index:20!important}.ProseMirror .resize-cursor{cursor:col-resize!important}.delete-table-btn:hover{background:#ef444433!important;border-color:#ef4444!important}.table-control-btn{background:#667eea1a!important;border-color:#667eea80!important}.table-control-btn:hover{background:#667eea33!important;border-color:#667eea!important}.delete-table-btn{background:#ef44441a!important;border-color:#ef444480!important}.delete-table-btn:hover{background:#ef44444d!important;border-color:#ef4444!important}.ProseMirror table td:hover,.ProseMirror table th:hover{background:var(--bg-hover)!important;cursor:pointer!important}.ProseMirror table td:focus,.ProseMirror table th:focus{outline:2px solid var(--primary-500)!important;outline-offset:-2px!important}.ProseMirror .tableWrapper{overflow-x:auto!important;margin:1rem 0!important}.ProseMirror table .grip-column{cursor:col-resize!important}.ProseMirror table .grip-row{cursor:row-resize!important}.clear-format-btn{background:#ef44441a!important;border-color:#ef444480!important}.clear-format-btn:hover{background:#ef444433!important;border-color:#ef4444!important}.ProseMirror hr{border:none!important;border-top:3px solid var(--border-color)!important;margin:2rem 0!important;cursor:pointer!important;transition:all .2s!important}.ProseMirror hr:hover{border-top-color:var(--primary-500)!important;box-shadow:0 2px 8px #667eea4d!important}.ProseMirror .math-inline{display:inline-block!important;background:#667eea1a!important;border-radius:.25rem!important;padding:.25rem .5rem!important;margin:0 .1rem!important;border:1px solid rgba(102,126,234,.3)!important;cursor:pointer!important;transition:all .2s!important;vertical-align:middle!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.ProseMirror .math-inline:hover{background:#667eea33!important;border-color:#667eea99!important;box-shadow:0 0 0 2px #667eea26!important}.ProseMirror .math-display{display:block!important;margin:2rem auto!important;padding:1.5rem!important;background:#667eea0d!important;border-radius:.5rem!important;border:2px solid rgba(102,126,234,.3)!important;overflow-x:auto!important;text-align:center!important;cursor:pointer!important;transition:all .2s!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.ProseMirror .math-display:hover{background:#667eea1a!important;border-color:#667eea99!important;box-shadow:0 4px 16px #667eea33!important}.ProseMirror span[data-type=inline-math],.ProseMirror .inline-math{display:inline-block!important;background:#667eea1a!important;border-radius:.25rem!important;padding:.2rem .5rem!important;margin:0 .2rem!important;border:1px solid rgba(102,126,234,.3)!important;cursor:pointer!important;transition:all .2s!important;vertical-align:middle!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.ProseMirror span[data-type=inline-math]:hover,.ProseMirror .inline-math:hover{background:#667eea33!important;border-color:#667eea99!important;box-shadow:0 0 0 2px #667eea26!important}.ProseMirror div[data-type=block-math],.ProseMirror .block-math{display:block!important;margin:2rem 0!important;padding:1.5rem!important;background:#667eea0d!important;border-radius:.5rem!important;border:2px solid rgba(102,126,234,.3)!important;overflow-x:auto!important;text-align:center!important;cursor:pointer!important;transition:all .2s!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.ProseMirror div[data-type=block-math]:hover,.ProseMirror .block-math:hover{background:#667eea1a!important;border-color:#667eea99!important;box-shadow:0 4px 16px #667eea33!important}.ProseMirror .ProseMirror-selectednode[data-type=inline-math],.ProseMirror .ProseMirror-selectednode[data-type=block-math]{outline:3px solid var(--primary-500)!important;background:#667eea33!important}.ProseMirror .katex{color:var(--text-primary)!important;font-size:1.1em!important}.ProseMirror .katex-display{margin:0!important;color:var(--text-primary)!important}.ProseMirror .katex .mord,.ProseMirror .katex .mopen,.ProseMirror .katex .mclose,.ProseMirror .katex .mpunct,.ProseMirror .katex .minner{color:var(--text-primary)!important}.ProseMirror .katex .mop{color:#60a5fa!important}.ProseMirror .katex .mbin{color:#fbbf24!important}.ProseMirror .katex .mrel{color:#f87171!important}.ProseMirror .katex .sqrt>.sqrt-sign{color:#86efac!important;border-color:#86efac!important}.ProseMirror .katex .base,.ProseMirror .katex .strut{color:var(--text)!important}.ProseMirror .katex .frac-line,.ProseMirror .katex .mfrac .frac-line{border-bottom-color:var(--text-secondary)!important}.ProseMirror .katex .rule{border-color:var(--text-secondary)!important;background-color:var(--text-secondary)!important}.ProseMirror .katex .delimsizing,.ProseMirror .katex .delim-size1,.ProseMirror .katex .delim-size2,.ProseMirror .katex .delim-size3,.ProseMirror .katex .delim-size4{color:var(--text-primary)!important}.ProseMirror [data-type=inline-math] *,.ProseMirror [data-type=block-math] *{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.link-dialog{max-width:600px}.link-input{width:100%;background:var(--surface);border:2px solid var(--border);border-radius:.5rem;color:var(--text);padding:.75rem;font-size:.95rem;transition:all .2s}.link-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #72d3f733}.link-error{margin-top:.5rem;color:#ef4444;font-size:.875rem}.link-preview{min-height:60px;background:var(--surface-alt);border:2px solid var(--border);border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:center}.link-preview a{color:var(--primary-text);text-decoration:underline;word-break:break-all}.link-checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.link-checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary)}.image-dialog{max-width:700px}.image-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border)}.image-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s;margin-bottom:-2px}.image-tab.active{color:var(--primary-text);border-bottom-color:var(--primary)}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.sample-image{width:100%;height:100px;-o-object-fit:cover;object-fit:cover;border-radius:.5rem;cursor:pointer;border:2px solid var(--border);transition:all .2s}.sample-image:hover{border-color:var(--primary);transform:scale(1.05);box-shadow:0 4px 12px #72d3f74d}.image-preview{min-height:200px;background:var(--surface-alt);border:2px solid var(--border);border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:center}.image-preview img{max-width:100%;max-height:300px;border-radius:.5rem}.image-upload-section{margin:1.5rem 0}.hidden-input{display:none}.image-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:var(--surface-alt);border:2px dashed var(--border);border-radius:.75rem;cursor:pointer;transition:all .2s;padding:2rem}.image-upload-label:hover{border-color:var(--primary);background:var(--primary-light, #e0f5fd)}.upload-icon{font-size:3rem;margin-bottom:1rem}.upload-text{color:var(--text);font-weight:600;margin-bottom:.5rem}.upload-hint{color:#9ca3af;font-size:.875rem}.preview-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.preview-image{max-width:100%;max-height:300px;border-radius:.5rem}.change-image-btn{padding:.5rem 1rem;background:var(--primary);color:var(--primary-text);border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.change-image-btn:hover{filter:brightness(.9);transform:translateY(-2px)}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.math-dialog-overlay{position:fixed;inset:0;background:#0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeInOverlay .3s cubic-bezier(.16,1,.3,1);padding:2rem;overflow-y:auto;overflow-x:hidden}@keyframes fadeInOverlay{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.math-dialog{background:var(--surface);border-radius:1.25rem;box-shadow:0 30px 60px #0f172a33,0 0 0 1px var(--border),inset 0 1px #fffc;width:90%;max-width:680px;max-height:calc(100vh - 4rem);min-height:300px;overflow:hidden;display:flex;flex-direction:column;animation:slideUpDialog .4s cubic-bezier(.16,1,.3,1);border:1px solid rgba(102,126,234,.2);margin:auto;position:relative}@keyframes slideUpDialog{0%{transform:translateY(60px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.math-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.75rem 2rem;background:linear-gradient(135deg,#72d3f726,#e0f5fd4d);border-bottom:1px solid var(--border);position:relative;overflow:hidden}.math-dialog-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(102,126,234,.12) 0%,transparent 60%);animation:headerPulse 6s ease-in-out infinite}@keyframes headerPulse{0%,to{transform:scale(1) translate(0);opacity:.8}50%{transform:scale(1.1) translate(-20px,-20px);opacity:1}}.math-dialog-header h3{margin:0;color:var(--text);font-size:1.625rem;font-weight:700;display:flex;align-items:center;gap:.875rem;position:relative;z-index:1;text-shadow:none;letter-spacing:-.5px}.math-dialog-close{background:#ef44441f;border:1.5px solid rgba(239,68,68,.35);color:#fca5a5;font-size:1.5rem;font-weight:300;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:.75rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}.math-dialog-close:hover{background:#ef444440;border-color:#ef4444;color:#fff;transform:rotate(90deg) scale(1.1);box-shadow:0 4px 12px #ef444466}.math-dialog-body{padding:2.25rem 2rem;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;background:var(--surface);-webkit-overflow-scrolling:touch}.math-dialog-body::-webkit-scrollbar{width:10px}.math-dialog-body::-webkit-scrollbar-track{background:var(--surface-alt);border-radius:5px;margin:.5rem 0}.math-dialog-body::-webkit-scrollbar-thumb{background:var(--primary);border-radius:5px;border:2px solid var(--surface)}.math-dialog-body::-webkit-scrollbar-thumb:hover{filter:brightness(.9)}.math-input-section,.math-preview-section,.math-formulas-section{margin-bottom:2rem}.math-input-section:last-child,.math-preview-section:last-child,.math-formulas-section:last-child{margin-bottom:0}.math-input-section label,.math-preview-section label,.math-formulas-section label{display:block;color:var(--text-secondary);font-weight:700;margin-bottom:.875rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:1px;opacity:.9}.math-textarea,.link-input{width:100%;background:var(--surface-alt);border:2px solid var(--border);border-radius:.875rem;color:var(--text);padding:1.125rem;font-family:SF Mono,Courier New,Consolas,monospace;font-size:1rem;line-height:1.6;resize:vertical;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 1px 3px #0f172a0f}.math-textarea:focus,.link-input:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px #72d3f733,0 4px 12px #72d3f71a;transform:translateY(-2px)}.math-textarea::-moz-placeholder,.link-input::-moz-placeholder{color:var(--text-muted);opacity:.8}.math-textarea::placeholder,.link-input::placeholder{color:var(--text-muted);opacity:.8}.math-hint{margin-top:.875rem;color:#9ca3af;font-size:.8125rem;display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#667eea0d;border-radius:.5rem;border-left:3px solid rgba(102,126,234,.3)}.math-hint kbd{background:var(--surface);padding:.25rem .5rem;border-radius:.375rem;font-family:SF Mono,monospace;font-size:.75rem;border:1px solid var(--border);box-shadow:0 1px #0f172a1a;color:var(--text-secondary);font-weight:600}.math-preview{min-height:120px;background:var(--surface-alt);border:2px solid var(--border);border-radius:.875rem;padding:1.75rem;display:flex;align-items:center;justify-content:center;overflow-x:auto;position:relative;box-shadow:inset 0 1px 4px #0f172a0f}.math-preview:before{content:"";position:absolute;inset:0;border-radius:.875rem;padding:2px;background:linear-gradient(145deg,#667eea1a,#764ba21a);-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;opacity:0;transition:opacity .3s}.math-preview:hover:before{opacity:1}.math-preview-error{border-color:#ef444480;background:linear-gradient(145deg,#ef44440d,#ef444414)}.math-error-message{text-align:center;color:#ef4444}.math-error-message span{display:block;font-weight:700;font-size:1.125rem;margin-bottom:.75rem}.math-error-message small{display:block;color:#fca5a5;font-size:.8125rem;opacity:.9}.math-preview-empty{color:#6b7280;font-style:italic;font-size:.9375rem}.math-formulas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.625rem}.math-formula-btn{background:var(--surface-alt);border:1.5px solid var(--border);border-radius:.625rem;color:var(--text);padding:.75rem .875rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;box-shadow:0 1px 3px #0f172a14}.math-formula-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .3s;border-radius:inherit}.math-formula-btn:hover{background:var(--primary);border-color:var(--primary);color:var(--primary-text);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 16px #72d3f759}.math-formula-btn:hover:before{opacity:1}.math-formula-btn:active{transform:translateY(-1px) scale(.98)}.math-dialog-footer{display:flex;justify-content:flex-end;gap:.875rem;padding:1.5rem 2rem;border-top:1px solid var(--border);background:var(--surface-alt);flex-shrink:0;position:relative;z-index:2}.math-dialog-footer .btn-secondary,.math-dialog-footer .btn-primary{padding:.875rem 1.75rem;border-radius:.75rem;font-weight:700;font-size:.9375rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);border:none;position:relative;overflow:hidden}.math-dialog-footer .btn-secondary{background:var(--surface);color:var(--text);border:1.5px solid var(--border);box-shadow:0 1px 3px #0f172a14}.math-dialog-footer .btn-secondary:hover{background:var(--surface-alt);transform:translateY(-2px);box-shadow:0 4px 8px #0f172a1f}.math-dialog-footer .btn-primary{background:var(--primary);color:var(--primary-text);box-shadow:0 4px 12px #72d3f74d;position:relative;overflow:hidden}.math-dialog-footer .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.math-dialog-footer .btn-primary:hover:before{left:100%}.math-dialog-footer .btn-primary:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #72d3f773;filter:brightness(.95)}.math-dialog-footer .btn-primary:active:not(:disabled){transform:translateY(-1px) scale(.98)}.math-dialog-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-alt);color:var(--text-muted);box-shadow:none}.link-dialog,.image-dialog{max-width:680px}.link-preview{min-height:80px;background:var(--surface-alt);border:2px solid var(--border);border-radius:.875rem;padding:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 4px #0f172a0f}.link-preview a{color:var(--primary-text);text-decoration:none;font-weight:600;word-break:break-all;padding:.5rem 1rem;background:var(--primary-light, #e0f5fd);border-radius:.5rem;border:1px solid var(--primary);transition:all .2s}.link-preview a:hover{filter:brightness(.95);border-color:var(--primary);transform:scale(1.02)}.link-error{margin-top:.75rem;color:#ef4444;font-size:.875rem;font-weight:600;padding:.625rem .875rem;background:#ef44441a;border-radius:.5rem;border-left:3px solid #ef4444}.link-checkbox-label{display:flex!important;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:.75rem 1rem;background:#667eea0d;border-radius:.625rem;border:1.5px solid rgba(102,126,234,.2);transition:all .2s}.link-checkbox-label:hover{background:#667eea1a;border-color:#667eea66}.link-checkbox-label input[type=checkbox]{width:1.375rem;height:1.375rem;cursor:pointer;accent-color:var(--primary)}.image-tabs{display:flex;gap:.5rem;margin-bottom:1.75rem;border-bottom:2px solid var(--border);padding:0 .25rem}.image-tab{padding:.875rem 1.75rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;font-weight:700;font-size:1rem;transition:all .3s;margin-bottom:-2px;position:relative}.image-tab:before{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:var(--primary);transform:scaleX(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.image-tab:hover{color:var(--text);background:var(--surface-alt)}.image-tab.active{color:var(--primary-text)}.image-tab.active:before{transform:scaleX(1)}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.875rem}.sample-image{width:100%;height:110px;-o-object-fit:cover;object-fit:cover;border-radius:.75rem;cursor:pointer;border:2px solid var(--border);transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #0f172a1a}.sample-image:hover{border-color:var(--primary);transform:translateY(-4px) scale(1.05);box-shadow:0 12px 24px #72d3f759}.image-preview{min-height:220px;background:linear-gradient(145deg,#0a0c10,#0f1117);border:2px solid #2d3748;border-radius:.875rem;padding:1.5rem;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 8px #0000004d}.image-preview img{max-width:100%;max-height:320px;border-radius:.75rem;box-shadow:0 8px 16px #0000004d}@media(max-width:640px){.math-dialog{width:95%;max-height:95vh}.math-dialog-header,.math-dialog-body,.math-dialog-footer{padding-left:1.25rem;padding-right:1.25rem}.math-formulas-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.image-grid{grid-template-columns:repeat(2,1fr)}}.tiptap-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);border-radius:.75rem .75rem 0 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px var(--shadow-color);overflow:visible}.toolbar-group{display:flex;gap:.25rem;align-items:center;padding:.25rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-color);position:relative;overflow:visible;z-index:1}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:.5rem;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:visible}.toolbar-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .2s}.toolbar-btn:hover:not(:disabled):before{opacity:1}.toolbar-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-500);color:var(--text-primary);transform:translateY(-3px) scale(1.05);box-shadow:0 6px 16px #667eea66,0 0 0 2px #667eea33,inset 0 1px #ffffff26}.toolbar-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #667eea33}.toolbar-btn.is-active{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:0 0 0 2px #667eea99,0 4px 14px #667eea66,inset 0 1px #fff3,inset 0 -1px #0000001a;transform:scale(1.02)}.toolbar-btn.is-active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:12px;height:2px;background:var(--primary-500);border-radius:2px;z-index:2}.toolbar-btn:disabled,.toolbar-btn.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.toolbar-btn svg{width:1rem;height:1rem;position:relative;z-index:1}.toolbar-btn.table-btn{width:1.75rem;height:1.75rem}.toolbar-btn.delete-btn:hover{background:linear-gradient(145deg,#ef444433,#dc262633);border-color:#ef4444;color:#fca5a5}.toolbar-divider{width:1px;height:2rem;background:var(--border-color);margin:0 .25rem;opacity:.6}.color-picker-wrapper{position:relative;display:flex;align-items:center}.color-picker-wrapper label{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;cursor:pointer;position:relative}.color-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.code-language-dropdown{position:relative;display:flex;align-items:center}.code-language-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);padding:.375rem 1.75rem .375rem .625rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:110px}.code-language-select:hover{background:var(--bg-hover);border-color:var(--primary-500);color:var(--text-primary)}.code-language-select:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #667eea33}.dropdown-icon{position:absolute;right:.5rem;pointer-events:none;color:var(--text-secondary)}@media(max-width:1024px){.tiptap-toolbar{gap:.375rem;padding:.75rem .875rem}.toolbar-group{gap:.125rem;padding:.125rem}.toolbar-btn{width:1.875rem;height:1.875rem}.code-language-select{min-width:95px;font-size:.75rem}}@media(max-width:768px){.tiptap-toolbar{gap:.25rem;padding:.625rem .75rem}.toolbar-btn{width:1.75rem;height:1.75rem}.toolbar-btn.table-btn{width:1.5rem;height:1.5rem}.code-language-select{min-width:85px;font-size:.7rem;padding:.25rem 1.5rem .25rem .5rem}}.toolbar-btn[title]:not(.is-active):hover:after,.toolbar-btn.is-active[title]:hover:after{content:attr(title);position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%);padding:.5rem .875rem;background:linear-gradient(145deg,#0f1117,#1a202c);border:2px solid rgba(102,126,234,.5);border-radius:.5rem;color:#e2e8f0;font-size:.8125rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;animation:fadeInScaleTooltip .2s cubic-bezier(.34,1.56,.64,1) forwards;z-index:10000!important;box-shadow:0 4px 12px #00000080,0 0 0 1px #667eea4d,inset 0 1px #ffffff1a;letter-spacing:.3px;width:auto;height:auto;min-width:-moz-max-content;min-width:max-content}.toolbar-btn.is-active[title]:hover:after{bottom:calc(100% + .875rem)}.toolbar-btn[title]:not(.is-active):hover:before,.toolbar-btn.is-active[title]:hover:before{content:"";position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(102,126,234,.5);opacity:0;animation:fadeInScaleTooltip .2s .05s cubic-bezier(.34,1.56,.64,1) forwards;z-index:10001!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));background:none!important}.toolbar-btn.is-active[title]:hover:before{bottom:calc(100% + .625rem)}@keyframes fadeInScaleTooltip{0%{opacity:0;transform:translate(-50%) translateY(-4px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.toolbar-btn.is-active:hover{animation:pulse .6s ease-in-out}@keyframes pulse{0%,to{box-shadow:0 0 0 1px #667eea80,0 4px 12px #667eea4d}50%{box-shadow:0 0 0 3px #667eea66,0 6px 16px #667eea66}}.problem-form-container{max-width:1100px;margin:0 auto;padding:1.5rem;padding-top:0}.steps-progress{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative;padding:0 1rem}.steps-progress:before{content:"";position:absolute;top:25px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--primary-500) 0%,var(--primary-500) calc((var(--current-step) - 1) * 20%),var(--bg-tertiary) calc((var(--current-step) - 1) * 20%),var(--bg-tertiary) 100%);z-index:0}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;position:relative;z-index:1;transition:all .3s ease}.step-indicator.completed{cursor:pointer}.step-indicator.completed:hover .step-number{transform:scale(1.1)}.step-number{width:50px;height:50px;border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.1rem;border:3px solid var(--border-color);transition:all .3s ease}.step-indicator.active .step-number{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#c84f4f;border-color:var(--primary-400);box-shadow:0 0 20px #6366f166;transform:scale(1.1)}.step-indicator.completed .step-number{background:var(--primary-500);color:#fff;border-color:var(--primary-400)}.step-label{font-size:.875rem;color:var(--text-muted);text-align:center;max-width:120px;transition:color .3s ease}.step-indicator.active .step-label{color:var(--primary-500);font-weight:600}.step-indicator.completed .step-label{color:var(--text-secondary)}.form-content{background:var(--bg-secondary);border-radius:12px;padding:2rem;box-shadow:0 4px 20px var(--shadow-color);border:1px solid var(--border-color)}.form-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem}.step-content{min-height:250px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500;font-size:.95rem}.form-group .form-help-text{color:var(--text-muted);font-size:.875rem;margin-bottom:.75rem;font-style:italic}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #6366f11a}.form-textarea{resize:vertical;font-family:inherit}.form-input-small{width:80px;padding:.5rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-500)}.rich-text-editor-wrapper{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;overflow:hidden;min-height:400px}.code-editor-wrapper{border:2px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-tertiary)}.language-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--border-color)}.language-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative;bottom:-2px}.language-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.language-tab.active{color:var(--primary-500);border-bottom-color:var(--primary-500);background:var(--bg-hover)}.test-cases-step{min-height:auto}.test-cases-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.test-cases-header>div:first-child h3{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.test-cases-subtitle{color:var(--text-muted);font-size:.875rem;margin:0}.btn-add-test-case{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-500);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-test-case:hover{background:var(--primary-600);transform:translateY(-1px)}.btn-add-test-case svg{width:1.125rem;height:1.125rem}.test-cases-list{display:flex;flex-direction:column;gap:.875rem}.test-case-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:1rem 1.25rem;transition:all .2s ease}.test-case-card:hover{border-color:var(--primary-500)}.test-case-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.test-case-header-left{display:flex;align-items:center;gap:.75rem}.test-case-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-500);color:#fff;border-radius:4px;font-weight:600;font-size:.75rem}.test-case-number{color:var(--text-secondary);font-weight:500;font-size:.9rem}.test-case-hidden-badge{padding:.2rem .5rem;background:var(--bg-tertiary);color:var(--text-muted);border-radius:4px;font-size:.7rem;font-weight:500}.btn-remove-test-case{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;color:var(--text-muted);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-remove-test-case:hover{background:#ef44441a;border-color:var(--red-500);color:var(--red-400)}.btn-remove-test-case svg{width:.875rem;height:.875rem}.test-case-fields{display:flex;flex-direction:column;gap:1rem}.test-case-input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.test-case-input-group{margin-bottom:0}.test-case-input-group label{font-size:.875rem;margin-bottom:.375rem}.test-case-textarea{resize:vertical;min-height:70px;max-height:150px;font-size:.9rem;padding:.625rem .875rem;line-height:1.5}.test-case-options{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.5rem;border-top:1px solid var(--border-color)}.test-case-options .checkbox-label{font-size:.875rem}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted);background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:8px}.empty-state .empty-icon{width:48px;height:48px;margin:0 auto 1rem;color:var(--text-muted);opacity:.5}.empty-state p{margin:.5rem 0;font-size:.95rem}.empty-state .empty-hint{font-size:.85rem;color:var(--text-muted);margin-top:.5rem}.form-group-inline{display:flex;align-items:center;gap:.5rem}.form-group-inline label{margin:0;color:var(--text-secondary);font-size:.9rem}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:.5rem}.concept-chip{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;font-size:.9rem}.concept-chip:hover{border-color:var(--primary-500);transform:translateY(-2px)}.concept-chip.selected{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-color:var(--primary-400);color:#fff;font-weight:600}.concept-chip input[type=checkbox]{width:16px;height:16px;cursor:pointer}.hints-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.hints-section h3{color:var(--text-primary);font-size:1.3rem;margin-bottom:1.5rem}.review-section{background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:10px;padding:2rem}.review-section h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.review-item{padding:1rem;margin-bottom:.75rem;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);border-left:4px solid var(--primary-500)}.review-item strong{color:var(--primary-500);margin-right:.5rem}.form-actions{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:2rem;border-top:2px solid var(--border-color)}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;box-shadow:0 4px 12px #6366f14d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-secondary);border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ef44441a;border:2px solid var(--red-500);border-radius:8px;padding:1rem 1.5rem;color:var(--red-400);margin-bottom:1.5rem;font-size:.95rem;line-height:1.6}@media(max-width:768px){.problem-form-container{padding:1rem;padding-top:0}.steps-progress{flex-wrap:wrap;gap:1rem}.step-label{font-size:.75rem;max-width:80px}.form-row{grid-template-columns:1fr}.form-content{padding:1.5rem}.concepts-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.form-actions{flex-direction:column;gap:1rem}.btn-primary,.btn-secondary{width:100%}.test-cases-header{flex-direction:column;gap:1rem;align-items:stretch}.btn-add-test-case{width:100%;justify-content:center}.test-case-input-row{grid-template-columns:1fr}.test-case-options{flex-direction:column;align-items:flex-start;gap:.75rem}.test-cases-list{max-height:calc(100vh - 500px)}}.form-group-link-lesson{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, rgba(71, 85, 105, .4))}.form-group-link-lesson .form-help-text{margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary, #94a3b8)}.link-lesson-options{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:0}.link-lesson-option{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.25rem;border:2px solid var(--border-color, rgba(71, 85, 105, .5));border-radius:.5rem;cursor:pointer;transition:border-color .2s ease,background .2s ease;min-width:180px}.link-lesson-option:hover{border-color:var(--primary-500, rgba(99, 102, 241, .5));background:#6366f10d}.link-lesson-option input[type=radio]{margin:0;margin-bottom:.25rem;accent-color:var(--primary-500, #6366f1)}.link-lesson-option input[type=radio]:checked~.link-lesson-option-label,.link-lesson-option:has(input:checked){font-weight:600}.link-lesson-option:has(input:checked){border-color:var(--primary-500, #6366f1);background:#6366f114}.link-lesson-option-label{font-weight:500;color:var(--text-primary, #e2e8f0)}.link-lesson-option-desc{font-size:.8125rem;color:var(--text-secondary, #94a3b8)}.link-lesson-fields{margin-top:1.25rem;padding:1rem;background:var(--bg-secondary, #ffffff);border-radius:.5rem;border:1px solid var(--border-color, rgba(71, 85, 105, .3))}.form-error-inline{font-size:.875rem;color:#dc2626;margin-bottom:.75rem;padding:.5rem .75rem;background:#dc262614;border-radius:.375rem;border:1px solid rgba(220,38,38,.2)}.ai-review-wrap{--dash-primary: #ea580c;--dash-secondary: #0d9488;--dash-accent: #d97706;--dash-text: #0f172a;--dash-text-muted: #64748b;--dash-glass-border: rgba(234, 88, 12, .14);--dash-glass: #ffffff;--dash-transition: cubic-bezier(.22, 1, .36, 1);display:flex;flex-direction:column;gap:1rem;font-family:Figtree,Inter,sans-serif;color:var(--dash-text)}.ai-review-wrap .glass-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:1.25rem 1.5rem;transition:box-shadow .28s var(--dash-transition),transform .28s var(--dash-transition)}.ai-review-wrap .glass-card:hover{box-shadow:0 4px 16px #0000000f}.ai-review-wrap .dashboard-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:9px;font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;transition:transform .28s var(--dash-transition),box-shadow .28s var(--dash-transition),background .2s;white-space:nowrap}.ai-review-wrap .dashboard-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #ea580c2e}.ai-review-wrap .dashboard-btn-primary{background:var(--dash-primary);color:#fff;border:none}.ai-review-wrap .dashboard-btn-outline{background:transparent;color:var(--dash-primary);border:1px solid var(--dash-primary)}.ai-review-wrap .dashboard-btn:disabled{opacity:.45;cursor:not-allowed}.air-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.air-header-left{display:flex;align-items:center;gap:.875rem}.air-header-icon{width:40px;height:40px;border-radius:10px;background:#ea580c1a;color:var(--dash-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.air-title{font-size:1.0625rem;font-weight:700;color:var(--dash-text);margin:0 0 .15rem}.air-subtitle{font-size:.78rem;color:var(--dash-text-muted);margin:0}.air-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.air-score-block{display:flex;align-items:center;gap:.6rem}.air-score-ring{width:56px;height:56px;flex-shrink:0}.air-ring-track{fill:none;stroke:#cbd5e1b3;stroke-width:8}.air-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dasharray .6s var(--dash-transition)}.air-ring-label{font-size:22px;font-weight:700;font-family:Figtree,monospace}.air-score-meta{display:flex;flex-direction:column;gap:.1rem}.air-score-meta-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--dash-text-muted)}.air-score-meta-value{font-size:.875rem;font-weight:600;color:var(--dash-text)}.air-refresh-btn{position:relative}.air-refresh-counter{font-size:.7rem;padding:.1rem .4rem;border-radius:999px;background:#ea580c1f;margin-left:.1rem}@keyframes air-spin{to{transform:rotate(360deg)}}.air-spin{animation:air-spin .8s linear infinite}.air-error-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border-radius:10px;background:#dc26260f;border:1px solid rgba(220,38,38,.2);color:#dc2626;font-size:.8125rem}.air-complexity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.air-complexity-grid{grid-template-columns:1fr}}.air-complexity-card{display:flex;flex-direction:column;gap:.75rem}.air-card-head{display:flex;align-items:center;gap:.5rem}.air-card-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--surface-alt, #f1f5f9);color:var(--dash-text-muted);flex-shrink:0}.air-card-icon--green{background:#0596691a;color:#059669}.air-card-icon--red{background:#dc26261a;color:#dc2626}.air-card-icon--amber{background:#d977061a;color:#d97706}.air-card-icon--blue{background:#2563eb1a;color:#2563eb}.air-card-icon--purple{background:#7c3aed1a;color:#7c3aed}.air-card-label{font-size:.8125rem;font-weight:600;color:var(--dash-text);flex:1}.air-count-pill{font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--surface-alt, #f1f5f9);color:var(--dash-text-muted)}.air-complexity-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.air-cx-tag{font-size:.78rem;font-weight:600;padding:.25rem .6rem;border-radius:6px;font-family:JetBrains Mono,Fira Mono,monospace}.air-cx-tag--student{background:#2563eb14;color:#1d4ed8;border:1px solid rgba(37,99,235,.2)}.air-cx-tag--optimal{background:#05966914;color:#059669;border:1px solid rgba(5,150,105,.2)}.air-cx-arrow{color:var(--dash-text-muted);font-size:.8rem}.air-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:600;padding:.25rem .65rem;border-radius:999px}.air-badge--green{background:#05966914;color:#059669;border:1px solid rgba(5,150,105,.2)}.air-badge--amber{background:#d9770614;color:#d97706;border:1px solid rgba(217,119,6,.2)}.air-strengths-card{background:#0596690a!important;border-color:#0596692e!important}.air-strengths-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.air-strength-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--dash-text);line-height:1.5}.air-strength-check{color:#059669;flex-shrink:0;margin-top:.15rem}.air-issues-list{display:flex;flex-direction:column;gap:0;margin-top:.25rem}.air-issue-row{display:flex;gap:.875rem;padding:.875rem 0;border-bottom:1px solid var(--border, #e2e8f0)}.air-issue-row:last-child{border-bottom:none;padding-bottom:0}.air-issue-bar{width:3px;border-radius:99px;flex-shrink:0;align-self:stretch;min-height:20px}.air-issue-row--critical .air-issue-bar{background:#dc2626}.air-issue-row--warning .air-issue-bar{background:#d97706}.air-issue-row--suggestion .air-issue-bar{background:#2563eb}.air-issue-body{flex:1;min-width:0}.air-issue-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem}.air-sev-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.15rem .55rem;border-radius:999px;flex-shrink:0}.air-sev-badge--critical{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.air-sev-badge--warning{background:#d9770614;color:#d97706;border:1px solid rgba(217,119,6,.2)}.air-sev-badge--suggestion{background:#2563eb14;color:#1d4ed8;border:1px solid rgba(37,99,235,.2)}.air-issue-desc{flex:1;font-size:.85rem;color:var(--dash-text);line-height:1.5;margin:0}.air-expand-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--dash-primary);background:transparent;border:none;cursor:pointer;padding:0;white-space:nowrap;transition:opacity .16s}.air-expand-btn:hover{opacity:.75}.air-issue-fix{margin-top:.6rem;padding:.65rem .9rem;border-radius:8px;background:var(--surface-alt, #f1f5f9);border-left:3px solid var(--dash-primary)}.air-issue-fix p{font-size:.8125rem;color:var(--dash-text-muted);line-height:1.6;margin:0}.air-snippet-wrap{border-radius:10px;overflow:hidden;border:1px solid var(--border, #e2e8f0)}.air-snippet-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.45rem .9rem;background:var(--surface-alt, #f1f5f9);border-bottom:1px solid var(--border, #e2e8f0)}.air-snippet-lang{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--dash-text-muted)}.air-copy-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:500;padding:.25rem .65rem;border-radius:6px;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);color:var(--dash-text-muted);cursor:pointer;transition:background .16s,color .16s,border-color .16s}.air-copy-btn:hover{background:var(--surface, #ffffff);border-color:#ea580c4d;color:var(--dash-primary)}.air-snippet-pre{margin:0;padding:1rem 1.125rem;background:#1e293b;font-family:JetBrains Mono,Fira Mono,Consolas,monospace;font-size:.82rem;line-height:1.65;color:#e2e8f0;overflow-x:auto;white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.air-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:680px){.air-bottom-grid{grid-template-columns:1fr}}.air-edge-card{background:#d977060a!important;border-color:#d977062e!important}.air-edge-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.air-edge-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.84rem;color:var(--dash-text);line-height:1.5}.air-edge-warn{color:#d97706;flex-shrink:0;font-size:.9rem;line-height:1.5}.air-tip-card{background:#7c3aed0a!important;border-color:#7c3aed26!important}.air-tip-text{font-size:.875rem;color:var(--dash-text);line-height:1.65;margin:0;padding:.5rem 0 0}.air-skeleton-grid{display:flex;flex-direction:column;gap:1rem}@keyframes air-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.air-skeleton{border-radius:14px;background:linear-gradient(90deg,#e2e8f099 25%,#cbd5e1e6,#e2e8f099 75%);background-size:800px 100%;animation:air-shimmer 1.5s infinite linear}.air-error-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.5rem;text-align:center}.air-error-icon{color:#dc2626;opacity:.8}.air-error-title{font-size:.9375rem;font-weight:600;color:var(--dash-text);margin:0}.air-error-detail{font-size:.8125rem;color:var(--dash-text-muted);margin:0;max-width:340px}.rb-submission-page{min-height:100vh;background:var(--bg, #fafafe);color:var(--text, #0f172a);padding:2rem 1rem;display:flex;justify-content:center}.rb-submission-shell{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.rb-submission-header{display:flex;flex-direction:column;gap:.75rem}.rb-submission-header-main{display:flex;align-items:center;gap:1rem}.rb-submission-back{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:999px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);color:var(--text-secondary, #475569);font-size:.8rem;cursor:pointer;transition:all .2s ease}.rb-submission-back:hover{border-color:#ea580c80;background:#ea580c0f;color:#ea580c;transform:translateY(-1px)}.rb-submission-breadcrumb{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}.rb-submission-breadcrumb-subtle{font-size:.8rem;color:var(--text-muted, #94a3b8)}.rb-submission-breadcrumb-title{font-size:.95rem;color:var(--text, #0f172a);font-weight:500}.rb-submission-breadcrumb-sep{color:var(--text-muted, #94a3b8)}.rb-status-badge{padding:.15rem .6rem;border-radius:999px;font-size:.75rem;border:1px solid var(--border, #e2e8f0);color:var(--text-secondary, #475569);background:var(--surface-alt, #f1f5f9)}.rb-status-badge--pass{border-color:#0596694d;background:#0596691a;color:#059669}.rb-status-badge--fail{border-color:#d977064d;background:#d977061a;color:#d97706}.rb-status-badge--error{border-color:#dc26264d;background:#dc262614;color:#dc2626}.rb-status-badge--pending{border-color:#ea580c4d;background:#ea580c1a;color:#ea580c}.rb-submission-header-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rb-submission-user{display:flex;align-items:center;gap:.6rem}.rb-submission-user-avatar{width:28px;height:28px;border-radius:999px;border:1px solid var(--border, #e2e8f0);display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d9488,#0891b2);color:#fff}.rb-submission-user-text{display:flex;flex-direction:column;gap:.1rem}.rb-submission-user-name{font-size:.9rem;font-weight:500}.rb-submission-user-meta{font-size:.78rem;color:#94a3b8}.rb-submission-header-actions{display:flex;align-items:center;gap:.5rem}.rb-submission-icon-btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.35rem .6rem;border-radius:999px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);color:var(--text-secondary, #475569);cursor:pointer;transition:all .2s ease}.rb-submission-icon-btn-label{display:none}.rb-submission-icon-btn:hover{border-color:#ea580ce6;transform:translateY(-1px)}.rb-submission-icon-btn--active{border-color:#ea580c99;background:#ea580c1f;color:#fb923c}@media(min-width:640px){.rb-submission-icon-btn-label{display:inline}}.rb-submission-tabs{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem;border-radius:999px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);overflow-x:auto}.rb-submission-tab{border:none;background:transparent;color:var(--text-secondary, #475569);font-size:.8rem;padding:.3rem .8rem;border-radius:999px;cursor:pointer;white-space:nowrap;transition:all .2s ease}.rb-submission-tab--active{background:linear-gradient(135deg,#ea580c,#0d9488);color:#fff;font-weight:500;box-shadow:0 1px 4px #0000001f}.rb-submission-layout{display:flex;flex-direction:column;gap:1.25rem}.rb-submission-main-panel{display:flex}.rb-card{background:var(--surface, #ffffff);border-radius:.9rem;border:1px solid var(--border, #e2e8f0);box-shadow:0 1px 4px #0000000d;padding:1.2rem 1.3rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.rb-card:hover{border-color:#ea580c4d;box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.rb-section-title{font-size:.95rem;font-weight:600}.rb-section-subtitle{font-size:.78rem;color:var(--text-muted, #94a3b8);margin-top:.15rem}.rb-section-subtitle-accent{color:#f97316}.rb-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}.rb-metric-card{position:relative}.rb-metric-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rb-metric-icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ea580c1f;color:#ea580c}.rb-metric-icon--primary{background:#ea580c1f;color:#ea580c}.rb-metric-icon--accent{background:#0d94881f;color:#0d9488}.rb-metric-icon--teal{background:#0596691f;color:#059669}.rb-metric-icon--orange{background:#ea580c1f;color:#ea580c}.rb-metric-icon--yellow{background:#d977061f;color:#d97706}.rb-metric-main{display:flex;flex-direction:column;margin-bottom:.35rem}.rb-metric-main--row{flex-direction:row;justify-content:space-between;gap:1rem}.rb-metric-value{font-size:1.35rem;font-weight:600}.rb-metric-label{font-size:.78rem;color:var(--text-muted, #94a3b8)}.rb-metric-subtext{font-size:.78rem;color:var(--text-secondary, #475569);margin-top:.2rem}.rb-metric-bar{width:100%;height:5px;border-radius:999px;background:var(--border, #e2e8f0);overflow:hidden;margin-top:.15rem}.rb-metric-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#14b8a6)}.rb-metric-card--wide{grid-column:span 2}@media(max-width:768px){.rb-metric-card--wide{grid-column:span 1}}.rb-metric-badge{padding:.1rem .55rem;font-size:.7rem;border-radius:999px;border:1px solid var(--border, #e2e8f0);color:var(--text-secondary, #475569)}.rb-metric-badge--pass{border-color:#0596694d;background:#0596691a;color:#059669}.rb-metric-badge--fail{border-color:#d977064d;background:#d977061a;color:#d97706}.rb-metric-badge--error{border-color:#dc26264d;background:#dc262614;color:#dc2626}.rb-metric-badge--pending{border-color:#ea580c4d;background:#ea580c1a;color:#ea580c}.rb-code-viewer{margin-top:.5rem}.rb-code-viewer--fullscreen{position:fixed;inset:1.5rem;z-index:40;max-width:none;margin:0}.rb-code-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.rb-code-actions{display:flex;align-items:center;gap:.5rem}.rb-code-search{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border-radius:999px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);color:var(--text-secondary, #475569)}.rb-code-search input{border:none;outline:none;background:transparent;color:inherit;font-size:.78rem;min-width:120px}.rb-code-body{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;border-radius:.75rem;overflow:hidden;background:linear-gradient(135deg,#0f172af2,#0f172afa)}.rb-code-lines{background:radial-gradient(circle at top,#0f172a,#020617);border-right:1px solid rgba(15,23,42,.95)}.rb-code-line{padding:.08rem .6rem;font-size:.72rem;color:#64748b;text-align:right}.rb-code-line--warn{color:#fbbf24}.rb-code-line--error{color:#ef4444}.rb-code-line--info{color:#38bdf8}.rb-code-line-number{display:inline-block;min-width:1.5rem}.rb-code-block{overflow-x:auto}.rb-code-empty{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--text-muted, #64748b)}.rb-tests-card{width:100%}.rb-test-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.rb-test-summary-title{font-size:.9rem;font-weight:500}.rb-test-summary-subtitle{font-size:.78rem;color:#94a3b8}.rb-test-summary-actions{display:flex;gap:.4rem}.rb-tests-empty{font-size:.8rem;color:var(--text-muted, #64748b)}.rb-tests-group{margin-top:.8rem}.rb-tests-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.rb-tests-group-header h3{font-size:.85rem;display:flex;align-items:center;gap:.4rem}.rb-tests-group-count{font-size:.75rem;color:#94a3b8}.rb-tests-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.rb-test-item{border-radius:.7rem;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);overflow:hidden}.rb-test-item-header{width:100%;padding:.5rem .7rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;border:none;background:transparent;color:inherit}.rb-test-item-main{display:flex;align-items:center;gap:.6rem}.rb-test-item-label{font-size:.8rem;font-weight:500}.rb-test-item-meta{display:flex;align-items:center;gap:.6rem;font-size:.75rem;color:#94a3b8}.rb-test-item-body{padding:.6rem .7rem .7rem;border-top:1px solid var(--border, #e2e8f0);background:var(--surface-alt, #f1f5f9)}.rb-test-io{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.rb-test-io-block h4{font-size:.78rem;color:var(--text-secondary, #475569);margin-bottom:.2rem}.rb-test-io-block pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1.4;background:#1e293b;border-radius:.5rem;padding:.4rem .45rem;color:#e2e8f0;max-height:120px;overflow:auto}.rb-test-expected{border-left:2px solid #059669}.rb-test-actual{border-left:2px solid #0284c7}.rb-test-actual--diff{border-left-color:#ef4444}.rb-test-error{margin-top:.5rem}.rb-test-error h4{font-size:.78rem;color:#dc2626;margin-bottom:.15rem}.rb-test-error pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1.4;background:#dc26260f;border:1px solid rgba(220,38,38,.15);border-radius:.5rem;padding:.4rem .45rem;color:#7f1d1d;max-height:120px;overflow:auto}.rb-test-footer{margin-top:.4rem;display:flex;justify-content:flex-end}.rb-test-badge{padding:.1rem .45rem;font-size:.7rem;border-radius:999px;border:1px solid rgba(148,163,184,.5)}.rb-test-badge--pass{border-color:#0596694d;background:#05966914;color:#059669}.rb-test-badge--fail{border-color:#d977064d;background:#d9770614;color:#d97706}.rb-test-badge--error{border-color:#dc26264d;background:#dc262614;color:#dc2626}.rb-hidden-badge,.rb-hidden-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;padding:.1rem .45rem;border-radius:999px;background:#d9770614;border:1px solid rgba(217,119,6,.25);color:#d97706}.rb-ai-card{width:100%}.rb-ai-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;flex-wrap:wrap}.rb-ai-title-block{display:flex;align-items:center;gap:.7rem}.rb-ai-icon{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0d94881f;color:#0d9488}.rb-ai-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .7rem;border-radius:999px;font-size:.72rem;border:1px solid rgba(148,163,184,.7)}.rb-ai-pill--pending{border-color:#ea580c4d;background:#ea580c1a;color:#ea580c}.rb-ai-pill--warning{border-color:#d977064d;background:#d977061a;color:#d97706}.rb-ai-pill--local{border-color:#2563eb40;background:#2563eb14;color:#2563eb}.rb-ai-pill--outline{border-color:var(--border, #e2e8f0);background:transparent;color:var(--text-secondary, #475569)}.rb-ai-pill--high{border-color:#dc26264d;background:#dc262614;color:#dc2626}.rb-ai-pill--medium{border-color:#d977064d;background:#d977061a;color:#d97706}.rb-ai-pill--low{border-color:#0596694d;background:#0596691a;color:#059669}.rb-ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.rb-ai-card-block{border-radius:.7rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);padding:.8rem .9rem}.rb-ai-card-block--span{grid-column:span 2}@media(max-width:768px){.rb-ai-card-block--span{grid-column:span 1}}.rb-ai-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.rb-ai-card-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-alt, #f1f5f9)}.rb-ai-card-icon--primary{color:#f97316}.rb-ai-card-icon--teal{color:#0d9488}.rb-ai-card-icon--orange{color:#d97706}.rb-ai-card-icon--green{color:#059669}.rb-ai-card-label{font-size:.8rem;color:var(--text-muted, #64748b)}.rb-ai-quality-score{display:flex;align-items:baseline;gap:.1rem}.rb-ai-quality-value{font-size:1.5rem;font-weight:600}.rb-ai-quality-unit{font-size:.8rem;color:#94a3b8}.rb-ai-quality-bar{margin-top:.3rem;width:100%;height:5px;border-radius:999px;background:var(--border, #e2e8f0);overflow:hidden}.rb-ai-quality-bar-fill{height:100%;background:linear-gradient(90deg,#059669,#0d9488)}.rb-ai-issue-list{list-style:none;margin:.45rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.rb-ai-issue-item{font-size:.75rem;border-radius:.5rem;padding:.4rem .5rem;background:var(--surface-alt, #f1f5f9)}.rb-ai-issue-item--warning{border:1px solid rgba(250,204,21,.8)}.rb-ai-issue-item--error{border:1px solid rgba(239,68,68,.8)}.rb-ai-issue-item--info{border:1px solid rgba(59,130,246,.7)}.rb-ai-issue-item--empty{border:1px dashed rgba(148,163,184,.6)}.rb-ai-issue-title{font-weight:500;margin-bottom:.15rem}.rb-ai-issue-text{color:var(--text-secondary, #475569)}.rb-ai-issue-suggestion{margin-top:.15rem;color:var(--text-muted, #64748b)}.rb-ai-complexity{display:grid;gap:.2rem;font-size:.78rem}.rb-ai-complexity dt{color:#94a3b8}.rb-ai-complexity dd{margin:0}.rb-ai-complexity-expl{margin-top:.4rem;font-size:.78rem;color:var(--text-muted, #64748b)}.rb-ai-suggestion-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.rb-ai-suggestion-item{font-size:.75rem}.rb-ai-suggestion-item--empty{color:var(--text-muted, #64748b)}.rb-ai-suggestion-title{font-weight:500}.rb-ai-suggestion-text{color:var(--text-muted, #64748b)}.rb-ai-learning-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;margin-top:.35rem}.rb-ai-learning-column h3{font-size:.8rem;margin-bottom:.25rem}.rb-ai-learning-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.rb-ai-learning-item{font-size:.78rem;display:flex;justify-content:space-between;align-items:center}.rb-ai-learning-item--empty{color:var(--text-muted, #64748b)}.rb-ai-learning-link{color:#0284c7;text-decoration:none}.rb-feedback-card{width:100%}.rb-feedback-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.rb-feedback-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr);gap:.9rem}@media(max-width:900px){.rb-feedback-layout{grid-template-columns:minmax(0,1fr)}}.rb-feedback-code{border-radius:.7rem;border:1px solid var(--border, #e2e8f0);background:#1e293b}.rb-feedback-code-header{padding:.4rem .6rem;display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:#94a3b8;border-bottom:1px solid rgba(255,255,255,.08)}.rb-feedback-code-lines{max-height:260px;overflow:auto}.rb-feedback-line{width:100%;padding:.1rem .5rem;display:flex;align-items:flex-start;gap:.5rem;border:none;background:transparent;font-size:.75rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#e2e8f0;cursor:pointer}.rb-feedback-line:hover{background:#ffffff0f}.rb-feedback-line--active{background:#ea580c1f}.rb-feedback-line-number{min-width:2rem;text-align:right;color:#64748b}.rb-feedback-line-text{white-space:pre}.rb-feedback-panel{border-radius:.7rem;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);padding:.75rem;display:flex;flex-direction:column;gap:.6rem}.rb-feedback-panel-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.rb-feedback-note{font-size:.78rem;color:var(--text-secondary, #475569);background:var(--surface-alt, #f1f5f9);border-radius:.5rem;padding:.5rem .6rem}.rb-feedback-form{display:flex;flex-direction:column;gap:.4rem}.rb-feedback-label{font-size:.78rem;color:var(--text-secondary, #475569)}.rb-feedback-textarea{border-radius:.5rem;border:1px solid var(--border, #e2e8f0);background:var(--surface, #ffffff);padding:.45rem .55rem;color:var(--text, #0f172a);font-size:.8rem;resize:vertical}.rb-feedback-empty{font-size:.78rem;color:var(--text-muted, #64748b);padding:.6rem}.rb-analytics-card{width:100%}.rb-analytics-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.rb-analytics-title{display:flex;align-items:center;gap:.6rem}.rb-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem}.rb-analytics-card-block{border-radius:.7rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);padding:.7rem .8rem}.rb-analytics-icon{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface, #ffffff);margin-bottom:.35rem}.rb-analytics-icon--primary{color:#f97316}.rb-analytics-icon--teal{color:#0d9488}.rb-analytics-icon--orange{color:#d97706}.rb-analytics-metric{font-size:.9rem}.rb-analytics-text{font-size:.78rem;color:var(--text-muted, #64748b);margin-top:.15rem}.rb-analytics-error-pill{font-size:.75rem;padding:.2rem .6rem;border-radius:999px;background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#dc2626}.rb-compare-card{width:100%}.rb-compare-header{margin-bottom:.7rem}.rb-compare-title{display:flex;align-items:center;gap:.6rem}.rb-compare-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}@media(max-width:800px){.rb-compare-body{grid-template-columns:minmax(0,1fr)}}.rb-compare-column{border-radius:.7rem;border:1px solid var(--border, #e2e8f0);background:#1e293b;padding:.7rem}.rb-compare-column-header{display:flex;align-items:center;gap:.4rem;font-size:.8rem;margin-bottom:.4rem;color:#94a3b8}.rb-compare-code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.5;max-height:240px;overflow:auto;color:#e2e8f0}.rb-compare-column--empty{display:flex;flex-direction:column}.rb-compare-placeholder{font-size:.8rem;color:#94a3b8}.rb-plag-card{width:100%}.rb-plag-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.7rem}.rb-plag-title{display:flex;align-items:center;gap:.6rem}.rb-plag-flag{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;padding:.2rem .7rem;border-radius:999px}.rb-plag-flag--unknown{background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);color:var(--text-secondary, #475569)}.rb-plag-flag--pass{background:#05966914;border:1px solid rgba(5,150,105,.25);color:#059669}.rb-plag-flag--warn{background:#d9770614;border:1px solid rgba(217,119,6,.25);color:#d97706}.rb-plag-flag--fail{background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#dc2626}.rb-plag-error{font-size:.78rem;color:#dc2626;margin-bottom:.4rem}.rb-plag-placeholder{font-size:.78rem;color:var(--text-muted, #64748b)}.rb-plag-match-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.rb-plag-match-item{border-radius:.6rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);padding:.45rem .5rem;font-size:.78rem}.rb-plag-match-header{display:flex;align-items:center;gap:.4rem}.rb-plag-match-title{font-weight:500}.rb-plag-match-meta{font-size:.72rem;color:#94a3b8}.rb-plag-snippet{margin-top:.35rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;background:#1e293b;color:#e2e8f0;padding:.4rem .45rem;border-radius:.4rem}.rb-pathway-card{width:100%}.rb-pathway-header{margin-bottom:.7rem}.rb-pathway-title{display:flex;align-items:center;gap:.6rem}.rb-pathway-error{font-size:.78rem;color:#dc2626;margin-bottom:.3rem}.rb-pathway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.rb-pathway-block{border-radius:.7rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);padding:.7rem .8rem}.rb-pathway-block--span{grid-column:span 2}@media(max-width:768px){.rb-pathway-block--span{grid-column:span 1}}.rb-pathway-list{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem}.rb-pathway-item{font-size:.78rem}.rb-pathway-item--empty{color:var(--text-muted, #64748b)}.rb-pathway-problem{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.rb-pathway-problem-title{font-weight:500}.rb-pathway-topic{display:flex;align-items:center;gap:.4rem}.rb-pathway-text{font-size:.8rem;color:var(--text-muted, #64748b);margin-bottom:.5rem}.rb-submission-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.8rem;border-radius:999px;border:1px solid transparent;cursor:pointer}.rb-submission-btn-primary{background:linear-gradient(135deg,#ea580c,#0d9488);color:#fff;border-color:transparent}.rb-submission-btn-ghost{background:transparent;color:#f97316;border-color:#ea580cb3}.rb-submission-error-card{max-width:480px;margin:4rem auto 0;text-align:center;padding:2rem 1.5rem;border-radius:.9rem;background:var(--surface, #ffffff);border:1px solid rgba(220,38,38,.25);box-shadow:0 8px 24px #0000000f}.rb-submission-error-title{font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.rb-submission-error-message{font-size:.85rem;color:#dc2626;margin-bottom:.9rem}.rb-submission-skeleton-header,.rb-submission-skeleton-card,.rb-submission-skeleton-code{border-radius:.7rem;background:linear-gradient(90deg,#e2e8f099,#cbd5e1e6,#e2e8f099);background-size:200% 100%;animation:rbSkeleton 1.2s infinite}.rb-submission-skeleton-header{height:56px}.rb-submission-skeleton-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.rb-submission-skeleton-card{height:96px}.rb-submission-skeleton-code{margin-top:1rem;height:260px}@keyframes rbSkeleton{0%{background-position:0% 50%}to{background-position:200% 50%}}.rbs-page{min-height:100vh;background:var(--bg-primary, #0f172a);padding:1.5rem 1.5rem 3rem}.rbs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--text-primary, #f1f5f9)}.rbs-spinner{width:3rem;height:3rem;border:3px solid var(--border-color, #334155);border-top-color:var(--primary-500, #ea580c);border-radius:50%;animation:rbs-spin .7s linear infinite;margin-bottom:1rem}@keyframes rbs-spin{to{transform:rotate(360deg)}}.rbs-header{display:flex;align-items:center;gap:1.25rem;max-width:1400px;margin:0 auto 1.5rem}.rbs-btn-back{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary, #1e293b) 0%,var(--bg-tertiary, #334155) 100%);border:1px solid var(--border-color, #475569);border-radius:.75rem;color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.rbs-btn-back:hover{border-color:var(--primary-500);transform:translate(-4px);box-shadow:0 4px 12px #0000004d}.rbs-title{font-size:2rem;font-weight:800;margin:0 0 .25rem;background:linear-gradient(135deg,var(--primary-500, #ea580c) 0%,var(--secondary-500, #14b8a6) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rbs-subtitle{font-size:1rem;color:var(--text-secondary, #94a3b8);margin:0}.rbs-metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;max-width:1400px;margin:0 auto 1.5rem}.rbs-metric-card{background:linear-gradient(135deg,var(--bg-secondary, #1e293b) 0%,var(--bg-tertiary, #334155) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color, #475569);border-radius:1rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:rbs-fade-in .5s ease both}.rbs-metric-card:hover{transform:translateY(-6px);border-color:var(--primary-500);box-shadow:0 8px 24px #00000014,0 0 16px #ea580c14}.rbs-metric-icon{width:2.75rem;height:2.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rbs-metric-cyan .rbs-metric-icon{background:#06b6d41f;color:#0891b2}.rbs-metric-green .rbs-metric-icon{background:#0596691f;color:#059669}.rbs-metric-yellow .rbs-metric-icon{background:#d977061f;color:#d97706}.rbs-metric-purple .rbs-metric-icon{background:#6d28d91f;color:#7c3aed}.rbs-metric-blue .rbs-metric-icon{background:#2563eb1f;color:#2563eb}.rbs-metric-indigo .rbs-metric-icon{background:#4f46e51f;color:#4f46e5}.rbs-metric-primary .rbs-metric-icon{background:#ea580c1f;color:var(--primary-500)}.rbs-metric-value{font-size:1.5rem;font-weight:800;color:var(--text-primary);line-height:1.2}.rbs-metric-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.rbs-metric-sublabel{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}@keyframes rbs-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rbs-tabs{display:flex;flex-wrap:wrap;gap:.5rem;max-width:1400px;margin:0 auto 1.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.rbs-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:.5rem;background:transparent;color:var(--text-secondary);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease}.rbs-tab:hover{color:var(--text-primary);background:#0000000a}.rbs-tab-active{color:var(--primary-500);background:linear-gradient(135deg,#ea580c26,#14b8a614);border:1px solid rgba(234,88,12,.4)}.rbs-tab:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.rbs-panels{max-width:1400px;margin:0 auto}.rbs-panel{animation:rbs-fade-in .35s ease}.rbs-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.rbs-search{flex:1;min-width:260px;position:relative}.rbs-search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.rbs-search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:1rem;transition:all .3s}.rbs-search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #ea580c33}.rbs-search-input::-moz-placeholder{color:var(--text-secondary)}.rbs-search-input::placeholder{color:var(--text-secondary)}.rbs-filters{display:flex;gap:.75rem;align-items:flex-end}.rbs-filter-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.rbs-select{padding:.625rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.9375rem;cursor:pointer;transition:all .3s;min-width:140px}.rbs-select:focus{outline:none;border-color:var(--primary-500)}.rbs-results-count{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.rbs-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.rbs-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:rbs-fade-in .4s ease both}.rbs-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-500));opacity:0;transition:opacity .3s}.rbs-card:hover{transform:translateY(-6px);border-color:var(--primary-500);box-shadow:0 8px 24px #00000014,0 0 16px #ea580c14}.rbs-card:hover:before{opacity:1}.rbs-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.rbs-card-id{font-size:.8125rem;font-weight:700;color:var(--text-secondary);font-family:ui-monospace,monospace}.rbs-badge{padding:.375rem .75rem;border-radius:.5rem;font-size:.6875rem;font-weight:700;display:inline-flex;align-items:center;gap:.375rem;text-transform:uppercase;letter-spacing:.05em;border:1px solid}.rbs-badge.status-pass{background:#0596691a;color:#059669;border-color:#05966940}.rbs-badge.status-fail{background:#d977061a;color:#d97706;border-color:#d9770640}.rbs-badge.status-error,.rbs-badge.status-timeout{background:#dc262614;color:#dc2626;border-color:#dc262633}.rbs-badge.status-pending{background:#2563eb14;color:#2563eb;border-color:#2563eb33}.rbs-card-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem;line-height:1.4}.rbs-score-wrap{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface-alt, #f1f5f9);border-radius:.75rem;margin-bottom:1rem}.rbs-score-ring{position:relative;width:72px;height:72px;flex-shrink:0}.rbs-ring-svg{width:100%;height:100%}.rbs-ring-bg{stroke:var(--border, #e2e8f0)}.rbs-ring-progress{transition:stroke-dasharray .6s ease}.rbs-score-wrap.score-perfect .rbs-ring-progress,.rbs-score-wrap.score-good .rbs-ring-progress{stroke:#059669}.rbs-score-wrap.score-medium .rbs-ring-progress{stroke:#d97706}.rbs-score-wrap.score-low .rbs-ring-progress{stroke:#dc2626}.rbs-score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.125rem;font-weight:800;color:var(--text-primary)}.rbs-score-details{font-size:.9375rem;font-weight:600;color:var(--text-secondary)}.rbs-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color)}.rbs-card-date{font-size:.8125rem;color:var(--text-secondary)}.rbs-card-link{font-size:.8125rem;font-weight:600;color:var(--primary-500);transition:gap .3s}.rbs-card:hover .rbs-card-link{gap:.5rem}.rbs-empty{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);border:2px dashed var(--border-color);border-radius:1rem}.rbs-empty-icon{font-size:3rem;margin-bottom:1rem}.rbs-empty h2{font-size:1.375rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.rbs-empty p{font-size:1rem;color:var(--text-secondary);margin-bottom:1.5rem}.rbs-btn-reset{padding:.75rem 1.5rem;border-radius:.5rem;border:none;background:linear-gradient(135deg,var(--primary-500),var(--secondary-500));color:#fff;font-weight:600;cursor:pointer;transition:all .3s ease}.rbs-btn-reset:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ea580c59}.rbs-btn-reset:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.rbs-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem}.rbs-chart-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.rbs-chart-card:hover{border-color:var(--primary-500);box-shadow:0 12px 40px #0000004d}.rbs-chart-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 1rem}.rbs-chart-tooltip{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;box-shadow:0 4px 12px #0000001a}.rbs-tooltip-label{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.rbs-classroom-overview{padding:.5rem 0}.rbs-section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.rbs-classroom-fallback-msg{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1rem}.rbs-metrics-grid--classroom{margin-top:.5rem}.rbs-loading-inline{display:flex;align-items:center;gap:.75rem;padding:2rem;color:var(--text-secondary)}@media(max-width:1024px){.rbs-metrics-grid{grid-template-columns:repeat(2,1fr)}.rbs-cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:640px){.rbs-page{padding:1rem}.rbs-metrics-grid{grid-template-columns:1fr}.rbs-controls{flex-direction:column}.rbs-search{min-width:100%}.rbs-filters{width:100%}.rbs-select{min-width:100%}.rbs-cards-grid,.rbs-charts-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.rbs-metric-card,.rbs-card,.rbs-panel{animation:none}.rbs-metric-card:hover,.rbs-card:hover,.rbs-btn-back:hover{transform:none}}.dashboard-wrap{--dash-primary: #72d3f7;--dash-primary-dark: #0ea5e9;--dash-secondary: #0891b2;--dash-secondary-light:#06b6d4;--dash-accent: #f59e0b;--dash-accent-light: #fcd34d;--dash-text: var(--text, #0f172a);--dash-text-secondary: var(--text-secondary, #475569);--dash-text-muted: var(--text-muted, #94a3b8);--dash-bg: var(--bg, #fafafe);--dash-bg-secondary: var(--surface-alt, #f1f5f9);--dash-bg-tertiary: #e2e8f0;--dash-surface-800: #e2e8f0;--dash-surface-900: #f1f5f9;--dash-glass: rgba(255, 255, 255, .82);--dash-glass-border: rgba(114, 211, 247, .18);--dash-transition: cubic-bezier(.22, 1, .36, 1)}.dashboard-wrap{animation:dashboardFadeIn .35s var(--dash-transition) both;background-image:linear-gradient(rgba(114,211,247,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(114,211,247,.035) 1px,transparent 1px);background-size:48px 48px}@keyframes dashboardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-wrap .glass-card{background:var(--dash-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--dash-glass-border);border-radius:14px;transition:background .25s var(--dash-transition),box-shadow .25s var(--dash-transition),transform .25s var(--dash-transition)}.dashboard-wrap .glass-card:hover{background:#fffffff2;box-shadow:0 8px 24px #72d3f726,0 2px 8px #0000000f;transform:translateY(-2px)}.dashboard-tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--dash-glass-border);margin-bottom:1.5rem}.dashboard-tab{padding:.625rem 1rem;font-family:Inter,sans-serif;font-weight:500;font-size:.875rem;color:var(--dash-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s}.dashboard-tab:hover{color:var(--dash-text)}.dashboard-tab[aria-selected=true]{color:var(--dash-primary-dark);border-bottom-color:var(--dash-primary);font-weight:600}.dashboard-time-range{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dashboard-time-range select,.dashboard-time-range button{padding:.4375rem .75rem;border-radius:8px;border:1px solid var(--dash-glass-border);background:var(--surface, #fff);color:var(--dash-text);font-family:Inter,sans-serif;font-size:.875rem;cursor:pointer;transition:border-color .15s,background .15s}.dashboard-time-range select:hover,.dashboard-time-range button:hover{border-color:var(--dash-primary);background:var(--primary-light, #e0f5fd)}.dashboard-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.5625rem 1.125rem;border-radius:8px;border:1px solid transparent;font-family:Inter,Figtree,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.01em;cursor:pointer;white-space:nowrap;text-decoration:none;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .15s ease}.dashboard-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);background-size:200% 100%;background-position:200% 0;transition:background-position .4s ease;pointer-events:none;border-radius:inherit}.dashboard-btn:hover:not(:disabled):after{background-position:-200% 0}.dashboard-btn:active:not(:disabled){transform:scale(.97)}.dashboard-btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important}.dashboard-btn-primary{background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);color:var(--primary-text, #0c4a6e);border-color:var(--primary, #72d3f7);box-shadow:0 1px 4px #72d3f759}.dashboard-btn-primary:hover:not(:disabled){box-shadow:0 4px 14px #72d3f773;transform:translateY(-1px)}.dashboard-btn-primary:active:not(:disabled){transform:translateY(0) scale(.98)}.dashboard-btn-outline{background:transparent;color:var(--primary-text, #0c4a6e);border:1px solid var(--primary, #72d3f7)}.dashboard-btn-outline:hover:not(:disabled){background:var(--primary-light, #e0f5fd);border-color:var(--primary-hover, #4ec9f5);box-shadow:0 4px 12px #72d3f733;transform:translateY(-1px)}.dashboard-btn-outline:active:not(:disabled){transform:translateY(0) scale(.98);background:var(--primary-medium, #bbeaf8)}.dashboard-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600}.dashboard-badge-pass{background:#d1fae5;color:#065f46}.dashboard-badge-fail{background:#fee2e2;color:#991b1b}.dashboard-badge-pending{background:#fef3c7;color:#92400e}.dashboard-badge-published{background:#d1fae5;color:#065f46}.dashboard-badge-draft,.dashboard-badge-warning{background:#fef3c7;color:#92400e}.dashboard-badge-success{background:#d1fae5;color:#065f46}.dashboard-badge-info{background:#e0f5fd;color:#0c4a6e}.dashboard-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--dash-glass-border);box-shadow:0 1px 3px #0000000d}.dashboard-table{width:100%;border-collapse:collapse;font-family:Inter,sans-serif;font-size:.875rem}.dashboard-table th,.dashboard-table td{padding:10px 16px;text-align:left}.dashboard-table th{background:var(--dash-surface-900);color:var(--dash-text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--dash-glass-border)}.dashboard-table tbody tr{border-top:1px solid var(--dash-glass-border);transition:background .12s}.dashboard-table tbody tr:last-child{border-top-color:transparent}.dashboard-table tbody tr:hover{background:var(--primary-light, #e0f5fd)}.dashboard-table td{color:var(--dash-text-secondary)}.dashboard-progress-bar{height:6px;border-radius:9999px;background:var(--dash-surface-800);overflow:hidden}.dashboard-progress-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--dash-primary),var(--dash-primary-dark));transition:width .5s var(--dash-transition)}.dashboard-section-title{font-family:Outfit,sans-serif;font-weight:700;font-size:1.125rem;color:var(--dash-text);margin-bottom:1rem}.dashboard-chart-wrap{padding:16px;min-height:260px}.dashboard-empty,.dashboard-error{text-align:center;padding:2rem;color:var(--dash-text-muted)}.dashboard-error button{margin-top:1rem}.dashboard-grid-stats{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:640px){.dashboard-grid-stats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-grid-stats{grid-template-columns:repeat(4,1fr)}}.dashboard-grid-charts{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.dashboard-grid-charts{grid-template-columns:repeat(2,1fr)}}.dashboard-metric-value{font-family:DM Mono,monospace;font-weight:600}.ps-page{max-width:1100px;margin:0 auto;padding:0 0 48px}.ps-page-header{margin-bottom:28px}.ps-page-title{font-size:1.5rem;font-weight:700;color:var(--text, #0f172a);margin:0 0 4px}.ps-page-subtitle{font-size:.875rem;color:var(--text-muted, #94a3b8);margin:0}.ps-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}.ps-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:20px}.ps-identity{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:20px 16px;text-align:center}.ps-avatar{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--primary, #72d3f7) 0%,var(--primary-hover, #4ec9f5) 100%);color:var(--primary-text, #0c4a6e);font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:0 4px 12px var(--primary-glow, rgba(114,211,247,.3))}.ps-identity-name{font-size:.9375rem;font-weight:700;color:var(--text, #0f172a);margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-identity-email{font-size:.75rem;color:var(--text-muted, #94a3b8);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-identity-role{display:inline-flex;align-items:center;padding:3px 10px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:999px;font-size:.6875rem;font-weight:600;color:var(--primary-text, #0c4a6e);text-transform:capitalize}.ps-nav{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:6px;display:flex;flex-direction:column;gap:2px}.ps-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary, #475569);font-size:.875rem;font-weight:500;cursor:pointer;width:100%;text-align:left;transition:background .15s,color .15s}.ps-nav-item svg{flex-shrink:0;color:var(--text-muted, #94a3b8);transition:color .15s}.ps-nav-item:hover{background:var(--surface-alt, #f1f5f9);color:var(--text, #0f172a)}.ps-nav-item:hover svg{color:var(--primary-text, #0c4a6e)}.ps-nav-item.active{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);font-weight:600}.ps-nav-item.active svg{color:var(--primary-text, #0c4a6e)}.ps-content{display:flex;flex-direction:column;gap:16px;min-width:0}.ps-content form{display:flex;flex-direction:column;gap:12px}.ps-card{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;overflow:hidden}.ps-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s;gap:12px}.ps-card-header:hover{background:var(--surface-alt, #f1f5f9)}.ps-card-header-left{display:flex;align-items:center;gap:12px}.ps-card-icon{width:36px;height:36px;border-radius:10px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ps-card-title{font-size:.9375rem;font-weight:600;color:var(--text, #0f172a);margin:0}.ps-card-chevron{color:var(--text-muted, #94a3b8);transition:transform .22s ease;flex-shrink:0}.ps-card-chevron.open{transform:rotate(180deg)}.ps-card-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.ps-card-body.closed{grid-template-rows:0fr}.ps-card-body-inner{min-height:0;overflow:hidden}.ps-card-body-inner-pad{padding:20px;border-top:1px solid var(--border, #e2e8f0)}.ps-field{display:flex;flex-direction:column;gap:6px}.ps-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary, #475569)}.ps-hint{font-size:.75rem;color:var(--text-muted, #94a3b8);margin-top:4px}.ps-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ps-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.ps-span-2{grid-column:span 2}.ps-fields-stack{display:flex;flex-direction:column;gap:16px}.ps-readonly-row{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px}.ps-readonly-label{font-size:.75rem;font-weight:600;color:var(--text-muted, #94a3b8);min-width:90px;text-transform:uppercase;letter-spacing:.04em}.ps-readonly-value{font-size:.875rem;font-weight:500;color:var(--text, #0f172a)}.ps-membership-card{background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.ps-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid;font-size:.875rem;font-weight:500}.ps-alert.success{background:#05966912;border-color:#0596694d;color:#059669}.ps-alert.error{background:#dc262612;border-color:#dc26264d;color:#dc2626}.ps-alert svg{flex-shrink:0;margin-top:1px}.ps-action-bar{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.ps-expand-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:8px;color:var(--text-secondary, #475569);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.ps-expand-btn:hover{background:var(--primary-light, #e0f5fd);border-color:var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}.ps-save-btn{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);border:none;border-radius:10px;color:var(--primary-text, #0c4a6e);font-size:.9375rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s;box-shadow:0 2px 10px var(--primary-glow, rgba(114,211,247,.35))}.ps-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px var(--primary-glow, rgba(114,211,247,.45))}.ps-save-btn:active:not(:disabled){transform:translateY(0)}.ps-save-btn:disabled{opacity:.5;cursor:not-allowed}.ps-password-card{background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:28px}.ps-password-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0)}.ps-password-icon{width:44px;height:44px;border-radius:12px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ps-password-title{font-size:1.125rem;font-weight:700;color:var(--text, #0f172a);margin:0}.ps-strength-bar-track{height:6px;background:var(--surface-alt, #f1f5f9);border-radius:999px;overflow:hidden;margin-top:8px;border:1px solid var(--border, #e2e8f0)}.ps-strength-bar-fill{height:100%;border-radius:999px;transition:width .4s ease,background .4s ease}.ps-strength-label{font-size:.8125rem;font-weight:600;margin-top:6px}.ps-requirements{background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:14px 16px}.ps-requirements-title{font-size:.8125rem;font-weight:700;color:var(--text-secondary, #475569);margin:0 0 10px;display:flex;align-items:center;gap:6px}.ps-req-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ps-req-item{display:flex;align-items:center;gap:8px;font-size:.8125rem;transition:color .2s}.ps-req-item.met{color:#059669}.ps-req-item.unmet{color:var(--text-muted, #94a3b8)}.ps-req-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.ps-req-item.met .ps-req-dot{background:#059669}.ps-req-item.unmet .ps-req-dot{background:var(--border, #e2e8f0)}.ps-password-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.ps-toast{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;border:1px solid;font-size:.875rem;font-weight:500;box-shadow:0 8px 24px #0000001a;animation:ps-toast-in .25s ease;max-width:360px}.ps-toast.success{background:#05966912;border-color:#0596694d;color:#059669}.ps-toast.error{background:#dc262612;border-color:#dc26264d;color:#dc2626}@keyframes ps-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ps-toast-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:0;margin-left:auto;flex-shrink:0;display:flex;align-items:center}.ps-toast-close:hover{opacity:1}.ps-spinner{width:18px;height:18px;border:2px solid rgba(12,74,110,.2);border-top-color:var(--primary-text, #0c4a6e);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@media(max-width:900px){.ps-layout{grid-template-columns:1fr}.ps-sidebar{position:static;flex-direction:row;flex-wrap:wrap}.ps-identity{flex:1;min-width:200px}.ps-nav{flex:1;min-width:200px;flex-direction:row;flex-wrap:wrap}.ps-nav-item{flex:1;justify-content:center}.ps-grid-2{grid-template-columns:1fr}.ps-grid-3{grid-template-columns:1fr 1fr}.ps-span-2{grid-column:span 1}}@media(max-width:600px){.ps-grid-3,.ps-membership-card{grid-template-columns:1fr}}.enrollment-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.enrollment-modal-content{background:var(--bg-secondary);border-radius:16px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;border:1px solid var(--border-color);animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.enrollment-modal-icon-container{position:relative;width:80px;height:80px;margin:32px auto 24px;display:flex;align-items:center;justify-content:center}.enrollment-modal-icon-bg{position:absolute;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);opacity:.2;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.1);opacity:.3}}.enrollment-modal-success-icon{position:relative;width:48px;height:48px;color:#10b981;animation:checkmark .5s ease-out .2s both}@keyframes checkmark{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.enrollment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 32px 24px;border-bottom:1px solid var(--border-color)}.enrollment-modal-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.enrollment-modal-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.enrollment-modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.enrollment-modal-body{padding:32px}.enrollment-modal-message{font-size:16px;color:var(--text-primary);margin-bottom:12px;text-align:center;line-height:1.6}.enrollment-modal-message strong{color:var(--text-primary);font-weight:600}.enrollment-modal-submessage{font-size:14px;color:var(--text-secondary);text-align:center;margin-bottom:32px}.enrollment-modal-steps{display:flex;flex-direction:column;gap:16px}.enrollment-step-item{display:flex;align-items:center;gap:16px}.enrollment-step-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.enrollment-step-icon svg{width:20px;height:20px}.enrollment-step-text{flex:1}.enrollment-step-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.enrollment-step-desc{font-size:12px;color:var(--text-secondary);margin:0}.enrollment-step-divider{height:1px;background:var(--border-color);margin:8px 0}.enrollment-modal-footer{padding:24px 32px 32px;border-top:1px solid var(--border-color);display:flex;justify-content:center;gap:12px}.enrollment-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px -1px #6366f14d}.enrollment-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 12px -1px #6366f166}.enrollment-btn-primary:active{transform:translateY(0)}.enrollment-btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.enrollment-btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--text-secondary)}@media(max-width:640px){.enrollment-modal-content{width:95%;margin:20px}.enrollment-modal-header,.enrollment-modal-body,.enrollment-modal-footer{padding-left:24px;padding-right:24px}.enrollment-modal-title{font-size:20px}}.course-card{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.875rem;overflow:hidden;text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;animation:cardFadeIn .35s ease both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.course-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #72d3f72e,0 2px 8px #0000000f;border-color:var(--primary, #72d3f7)}.course-card-thumb{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.course-card-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .35s ease}.course-card:hover .course-card-thumb img{transform:scale(1.05)}.course-card-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.45) 0%,transparent 55%);pointer-events:none}.course-card-thumb-gradient{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.course-card-thumb-gradient--beginner{background:linear-gradient(135deg,#22c55e,#16a34a)}.course-card-thumb-gradient--intermediate{background:linear-gradient(135deg,#72d3f7,#4ec9f5)}.course-card-thumb-gradient--advanced{background:linear-gradient(135deg,#a855f7,#7c3aed)}.course-card-thumb-gradient--expert{background:linear-gradient(135deg,#ef4444,#b91c1c)}.course-card-thumb-gradient--default{background:linear-gradient(135deg,#94a3b8,#64748b)}.course-card-thumb-icon{opacity:.3;color:#fff}.course-card-badge-difficulty{position:absolute;top:.625rem;right:.625rem;z-index:2;padding:.25rem .625rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.course-card-badge-difficulty--beginner{background:#22c55ed9;color:#fff;border-color:#22c55e66}.course-card-badge-difficulty--intermediate{background:#72d3f7e6;color:#0c4a6e;border-color:#4ec9f566}.course-card-badge-difficulty--advanced{background:#a855f7d9;color:#fff;border-color:#a855f766}.course-card-badge-difficulty--expert{background:#ef4444d9;color:#fff;border-color:#ef444466}.course-card-badge-difficulty--default{background:#64748bd9;color:#fff;border-color:#64748b66}.course-card-badge-enrolled{position:absolute;top:.625rem;left:.625rem;z-index:2;display:flex;align-items:center;gap:.3rem;padding:.25rem .625rem;border-radius:999px;font-size:.7rem;font-weight:600;background:#22c55ee6;color:#fff;border:1px solid rgba(34,197,94,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.course-card-body{display:flex;flex-direction:column;flex:1;padding:1.125rem 1.25rem 1.25rem;gap:.75rem}.course-card-category{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8);width:-moz-fit-content;width:fit-content}.course-card-title{font-size:1rem;font-weight:700;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:Outfit,system-ui,sans-serif;transition:color .15s}.course-card:hover .course-card-title{color:var(--primary-text, #0c4a6e)}.course-card-desc{font-size:.875rem;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.course-card-stats{display:flex;align-items:center;gap:1rem;font-size:.8125rem;color:var(--text-muted)}.course-card-stat{display:flex;align-items:center;gap:.3rem}.course-card-instructor{display:flex;align-items:center;gap:.5rem;padding-top:.625rem;border-top:1px solid var(--border-color)}.course-card-instructor-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);color:var(--primary-text, #0c4a6e);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-card-instructor-name{font-size:.8125rem;color:var(--text-secondary)}.course-card-action{margin-top:auto;padding-top:.25rem}.course-card-enroll-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:.5rem;border:none;background:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}.course-card-enroll-btn:hover:not(:disabled){background:var(--primary-hover, #4ec9f5);box-shadow:0 3px 12px #72d3f766;transform:translateY(-1px)}.course-card-enroll-btn:disabled{opacity:.65;cursor:not-allowed}.course-card-enroll-btn .course-card-btn-arrow{transition:transform .15s}.course-card-enroll-btn:hover:not(:disabled) .course-card-btn-arrow{transform:translate(3px)}.course-card-enrolled-state{width:100%;display:flex;flex-direction:column;align-items:center;gap:.25rem}.course-card-enrolled-pill{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border-radius:.5rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#15803d;font-size:.875rem;font-weight:600}.course-card-enrolled-hint{font-size:.75rem;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:linear-gradient(135deg,#1f2937,#111827);border-radius:20px;max-width:500px;width:100%;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease-out;position:relative;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(239,68,68,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-icon-container{position:relative;display:flex;align-items:center;justify-content:center;padding:2.5rem 0 1.5rem}.modal-icon-bg{position:absolute;width:100px;height:100px;background:linear-gradient(135deg,#ef444433,#dc26261a);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:.4}}.modal-lock-icon{position:relative;width:60px;height:60px;color:#ef4444;filter:drop-shadow(0 4px 12px rgba(239,68,68,.4));animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px) rotate(-5deg)}75%{transform:translate(5px) rotate(5deg)}}.modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{font-size:1.75rem;font-weight:700;color:#fff;margin:0}.modal-close-btn{position:absolute;top:-3rem;right:1rem;background:#ffffff1a;border:none;color:#fff9;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-close-btn:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.modal-body{position:relative;padding:1.5rem 2rem}.modal-message{font-size:1.1rem;color:#e5e7eb;margin:0 0 .75rem;line-height:1.6}.modal-message strong{color:#fbbf24;font-weight:600}.modal-submessage{font-size:.95rem;color:#9ca3af;margin:0 0 1.5rem;line-height:1.6}.modal-steps{display:flex;flex-direction:column;gap:.75rem;background:#0000004d;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:1.25rem}.step-item{display:flex;align-items:center;gap:1rem}.step-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-icon svg{width:20px;height:20px}.step-completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.step-locked{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 4px 12px #6b728033}.step-text{flex:1}.step-title{font-size:.95rem;font-weight:600;color:#fff;margin:0 0 .25rem}.step-desc{font-size:.85rem;color:#9ca3af;margin:0}.step-divider{width:2px;height:20px;background:linear-gradient(to bottom,#10b981,#6b7280);margin-left:20px;opacity:.5}.modal-footer{position:relative;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.btn-modal-primary{padding:.75rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #667eea66}.btn-modal-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-modal-primary:active{transform:translateY(0)}@media(max-width:640px){.modal-content{border-radius:16px}.modal-title{font-size:1.5rem}.modal-body,.modal-footer{padding:1.25rem 1.5rem}.modal-steps{padding:1rem}.step-icon{width:36px;height:36px}.step-icon svg{width:18px;height:18px}}.course-detail-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;padding:2rem}.course-detail-state-spinner{animation:cd-spin .75s linear infinite;color:var(--primary, #72d3f7)}@keyframes cd-spin{to{transform:rotate(360deg)}}.course-detail-state-text{font-size:.9375rem;color:var(--text-secondary);margin:0}.course-detail-error-card{max-width:28rem;width:100%;padding:2.5rem 2rem;border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.course-detail-error-icon{margin-bottom:.25rem}.course-detail-error-icon--lock{color:var(--primary, #72d3f7)}.course-detail-error-icon--error{color:#ef4444}.course-detail-error-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.course-detail-error-body{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.55}.course-detail-error-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.course-description-wrapper{margin-bottom:2rem}.course-description{color:var(--text-secondary);font-size:1rem;line-height:1.65;max-width:72ch}.course-description-intro{font-size:1.0625rem;line-height:1.7;margin-bottom:1.5rem;color:var(--text-primary)}.course-description-section{margin-bottom:1.5rem}.course-description-section:last-child{margin-bottom:0}.course-description-heading{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:.01em;padding-left:.75rem;border-left:3px solid var(--primary, #72d3f7)}.course-description-body{padding-left:.25rem}.course-description-list{list-style:none;padding:0;margin:.25rem 0 .75rem}.course-description-list li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.course-description-bullet:before{content:"•";color:var(--primary, #72d3f7);font-weight:700;flex-shrink:0}.course-description-check{color:var(--text-secondary)}.course-description-check-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0;border-radius:50%;background:#22c55e26;color:#22c55e;font-size:.75rem;font-weight:700}.course-description-para{margin:.25rem 0 .5rem;color:var(--text-secondary)}.course-detail-wrap{background:var(--bg-primary);min-height:100vh}.course-detail-hero{position:relative;padding:2rem 1.5rem 3rem;overflow:hidden;background:var(--bg-primary)}.course-detail-hero-bg{position:absolute;inset:0;pointer-events:none}.course-detail-hero-gradient{position:absolute;inset:0;opacity:.05}.course-detail-hero-gradient--beginner{background:linear-gradient(135deg,#22c55e,#16a34a)}.course-detail-hero-gradient--intermediate{background:linear-gradient(135deg,var(--primary, #72d3f7) 0%,var(--primary-hover, #4ec9f5) 100%)}.course-detail-hero-gradient--advanced{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.course-detail-hero-gradient--expert{background:linear-gradient(135deg,#ef4444,#dc2626)}.course-detail-hero-gradient--default{background:linear-gradient(135deg,var(--primary, #72d3f7) 0%,#94a3b8 100%)}.course-detail-hero-blur{position:absolute;width:18rem;height:18rem;border-radius:50%;filter:blur(80px);opacity:.1}.course-detail-hero-blur--1{top:-4rem;right:-4rem;background:var(--primary, #72d3f7)}.course-detail-hero-blur--2{bottom:-4rem;left:-4rem;background:var(--primary-hover, #4ec9f5)}.course-detail-container{position:relative;z-index:1;max-width:80rem;margin:0 auto}.course-detail-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;flex-wrap:wrap}.course-detail-breadcrumb-link{color:var(--text-secondary);text-decoration:none;transition:color .15s}.course-detail-breadcrumb-link:hover{color:var(--primary-hover, #4ec9f5)}.course-detail-breadcrumb-sep{color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.course-detail-breadcrumb-current{color:var(--text-muted);max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-detail-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}@media(min-width:1024px){.course-detail-grid{grid-template-columns:1fr 22rem;align-items:start}}.course-detail-header{margin-bottom:1.75rem}.course-detail-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.course-detail-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;border-radius:9999px;border:1px solid transparent}.course-detail-badge--category{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border-color:var(--primary-medium, #bbeaf8)}.course-detail-badge--beginner{background:#22c55e1f;color:#15803d;border-color:#22c55e4d}.course-detail-badge--intermediate{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border-color:var(--primary-medium, #bbeaf8)}.course-detail-badge--advanced{background:#8b5cf61f;color:#7c3aed;border-color:#8b5cf640}.course-detail-badge--expert{background:#ef44441f;color:#b91c1c;border-color:#ef444440}.course-detail-badge--default{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.course-detail-badge--enrolled{background:#22c55e1f;color:#15803d;border-color:#22c55e4d}.course-detail-badge-icon,.course-detail-badge-img{flex-shrink:0}.course-detail-badge-img{width:1rem;height:1rem;-o-object-fit:contain;object-fit:contain;border-radius:2px}.course-detail-title{font-family:Outfit,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;line-height:1.2;color:var(--text-primary);margin:0 0 .5rem;letter-spacing:-.02em}.course-detail-tagline{font-size:1.0625rem;line-height:1.55;color:var(--text-secondary);margin:0 0 1.25rem;max-width:42rem}.course-detail-instructor{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem .75rem .5rem .5rem;border-radius:9999px;background:var(--bg-tertiary);border:1px solid var(--border-color)}.course-detail-instructor-avatar{width:2.25rem;height:2.25rem;border-radius:50%;background:linear-gradient(135deg,var(--primary, #72d3f7) 0%,var(--primary-hover, #4ec9f5) 100%);color:var(--primary-text, #0c4a6e);font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center}.course-detail-instructor-label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.course-detail-instructor-name{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.course-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:2rem;padding:1.25rem 1rem;border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border-color)}.course-detail-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.course-detail-stat-icon{color:var(--primary-hover, #4ec9f5);opacity:.9}.course-detail-stat-value{font-family:DM Mono,monospace;font-size:1.375rem;font-weight:700;color:var(--text-primary);line-height:1.2}.course-detail-stat-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}@media(max-width:480px){.course-detail-stats{grid-template-columns:repeat(2,1fr)}}.course-detail-about-card{margin-bottom:2rem;border-radius:1rem;border:1px solid var(--border-color);background:var(--bg-secondary);overflow:hidden}.course-detail-about-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;font-size:1rem;font-weight:600;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background .15s}.course-detail-about-toggle:hover{background:var(--bg-tertiary)}.course-detail-about-chevron{color:var(--text-muted);transition:transform .2s;flex-shrink:0}.course-detail-about-chevron--open{transform:rotate(180deg)}.course-detail-about-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-color)}.course-detail-about-body .course-description-wrapper{margin-top:1rem;margin-bottom:0}.course-detail-curriculum{padding:1.5rem;border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border-color)}.course-detail-curriculum-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.course-detail-curriculum-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.course-detail-curriculum-add{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--primary-text, #0c4a6e);background:var(--primary, #72d3f7);border:none;border-radius:.5rem;cursor:pointer;transition:background .15s,transform .1s}.course-detail-curriculum-add:hover{background:var(--primary-hover, #4ec9f5);transform:translateY(-1px)}.course-detail-module-form{margin-bottom:1.5rem;padding:1.25rem;border-radius:.75rem;border:2px solid var(--primary, #72d3f7);background:var(--bg-tertiary)}.course-detail-module-form-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.course-detail-module-form-body{display:flex;flex-direction:column;gap:.75rem}.course-detail-module-form-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.course-detail-module-form-input{width:100%;padding:.625rem .875rem;font-size:.9375rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;outline:none;transition:border-color .15s}.course-detail-module-form-input:focus{border-color:var(--primary, #72d3f7)}.course-detail-module-form-input::-moz-placeholder{color:var(--text-muted)}.course-detail-module-form-input::placeholder{color:var(--text-muted)}.course-detail-module-form-actions{display:flex;gap:.75rem}.course-detail-modules{display:flex;flex-direction:column;gap:.5rem}.course-detail-module{border-radius:.75rem;border:1px solid var(--border-color);background:var(--bg-primary);overflow:hidden}.course-detail-module-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.course-detail-module-trigger{flex:1;min-width:0;display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;font:inherit;color:inherit;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .15s}.course-detail-module-trigger:hover{background:var(--bg-tertiary)}.course-detail-module-num{flex-shrink:0;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;font-size:.9375rem;font-weight:700;color:var(--primary-text, #0c4a6e);background:var(--primary-light, #e0f5fd);border-radius:.5rem}.course-detail-module-info{flex:1;min-width:0}.course-detail-module-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.course-detail-module-meta{font-size:.8125rem;color:var(--text-muted)}.course-detail-module-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s}.course-detail-module-chevron--open{transform:rotate(180deg)}.course-detail-module-actions{display:flex;gap:.4rem;padding-right:1rem;flex-wrap:wrap}.course-detail-module-action{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.8rem;font-weight:600;border-radius:.5rem;text-decoration:none;border:none;cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap}.course-detail-module-action--text{color:var(--primary-text, #0c4a6e);background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8)}.course-detail-module-action--text:hover{background:var(--primary-medium, #bbeaf8)}.course-detail-module-action--lab{color:#065f46;background:#22c55e1f;border:1px solid rgba(34,197,94,.3)}.course-detail-module-action--lab:hover{background:#22c55e38}.course-detail-module-action--delete{color:#b91c1c;background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.course-detail-module-action--delete:hover:not(:disabled){background:#ef444433}.course-detail-module-action--delete:disabled{opacity:.5;cursor:not-allowed}.course-detail-lessons{padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.course-detail-lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.course-detail-lesson{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border-color);background:var(--bg-tertiary);transition:border-color .15s,box-shadow .15s}.course-detail-lesson:not(.course-detail-lesson--locked):hover{border-color:var(--primary, #72d3f7);box-shadow:0 0 0 1px #72d3f733}.course-detail-lesson--locked{opacity:.7}.course-detail-lesson-link{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;color:inherit}.course-detail-lesson-main{flex:1;min-width:0}.course-detail-lesson-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.125rem}.course-detail-lesson-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0}.course-detail-lesson--locked .course-detail-lesson-title{color:var(--text-muted)}.course-detail-lesson-badge{font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:9999px}.course-detail-lesson-badge--lab{background:#8b5cf61f;color:#7c3aed;border:1px solid rgba(139,92,246,.25)}.course-detail-lesson-badge--text{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8)}.course-detail-lesson-desc{font-size:.8125rem;color:var(--text-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-detail-lesson-status{flex-shrink:0}.course-detail-lesson-status-badge{font-size:.75rem;font-weight:600;padding:.3rem .6rem;border-radius:9999px;border:1px solid transparent}.course-detail-lesson-status-badge--done{background:#22c55e1f;color:#15803d;border-color:#22c55e4d}.course-detail-lesson-status-badge--start{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border-color:var(--primary-medium, #bbeaf8)}.course-detail-lesson-status-badge--locked{background:var(--bg-primary);color:var(--text-muted);border-color:var(--border-color)}.course-detail-lesson-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.course-detail-lesson-edit{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;color:#065f46;background:#22c55e1f;border:1px solid rgba(34,197,94,.3);border-radius:.5rem;text-decoration:none;transition:background .15s}.course-detail-lesson-edit:hover{background:#22c55e38}.course-detail-lesson-delete{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;color:#b91c1c;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:.5rem;cursor:pointer;transition:background .15s}.course-detail-lesson-delete:hover:not(:disabled){background:#ef444433}.course-detail-lesson-delete:disabled{opacity:.5;cursor:not-allowed}.course-detail-lessons-empty{text-align:center;padding:1.5rem;font-size:.875rem;color:var(--text-secondary)}.course-detail-lessons-empty-actions{margin-top:.75rem;display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.course-detail-empty{text-align:center;padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.course-detail-empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:.5rem}.course-detail-empty-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.course-detail-empty-desc{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1rem}.course-detail-sidebar{position:relative}@media(min-width:1024px){.course-detail-sidebar{position:sticky;top:1.5rem}}.course-detail-sidebar-card{padding:1.5rem;border-radius:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 4px 16px #72d3f714,0 1px 4px #0000000d}.course-detail-sidebar-thumb{border-radius:.75rem;overflow:hidden;margin-bottom:1.25rem;background:var(--bg-tertiary)}.course-detail-sidebar-thumb img{width:100%;height:11rem;-o-object-fit:cover;object-fit:cover;display:block}.course-detail-sidebar-placeholder{height:8rem;margin-bottom:1.25rem;border-radius:.75rem;background:var(--primary-light, #e0f5fd);border:1px dashed var(--primary-medium, #bbeaf8);display:flex;align-items:center;justify-content:center}.course-detail-sidebar-placeholder-icon{color:var(--primary-hover, #4ec9f5);opacity:.6}.course-detail-sidebar-cta{display:block;width:100%;padding:.875rem 1.25rem;font-size:1rem;font-weight:600;text-align:center;border-radius:.75rem;border:none;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s}.course-detail-sidebar-cta:disabled{opacity:.7;cursor:not-allowed}.course-detail-sidebar-cta--primary{color:var(--primary-text, #0c4a6e);background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);box-shadow:0 2px 8px #72d3f759}.course-detail-sidebar-cta--primary:hover:not(:disabled){box-shadow:0 4px 16px #72d3f780;transform:translateY(-1px)}.course-detail-sidebar-cta-loading{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.course-detail-sidebar-spinner{width:1.25rem;height:1.25rem;border:2px solid rgba(12,74,110,.2);border-top-color:var(--primary-text, #0c4a6e);border-radius:50%;animation:cd-spin .7s linear infinite}.course-detail-sidebar-enrolled{padding:.6rem 1rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;text-align:center;color:#15803d;background:#22c55e1a;border:1px solid rgba(34,197,94,.25);border-radius:.5rem}.course-detail-sidebar-meta{margin:1.25rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border-color);display:grid;gap:0}.course-detail-sidebar-meta-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;font-size:.875rem}.course-detail-sidebar-meta-row+.course-detail-sidebar-meta-row{border-top:1px solid var(--border-color)}.course-detail-sidebar-meta-row dt{margin:0;font-weight:500;color:var(--text-muted)}.course-detail-sidebar-meta-row dd{margin:0;font-weight:600;color:var(--text-primary)}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.content-renderer{color:var(--text-secondary);line-height:1.8;font-size:1rem;font-family:Inter,Figtree,system-ui,sans-serif}.content-renderer h1,.content-renderer h2,.content-renderer h3,.content-renderer h4,.content-renderer h5,.content-renderer h6{font-family:Outfit,system-ui,sans-serif;color:var(--text-primary);font-weight:700;line-height:1.25}.content-renderer h1{font-size:1.875rem;margin:2.5rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.content-renderer h2{font-size:1.5rem;margin:2rem 0 .875rem;padding-bottom:.375rem;border-bottom:1px solid var(--border-color)}.content-renderer h3{font-size:1.25rem;margin:1.75rem 0 .625rem}.content-renderer h4{font-size:1.0625rem;margin:1.5rem 0 .5rem}.content-renderer h5,.content-renderer h6{font-size:1rem;margin:1.25rem 0 .5rem}.content-renderer>h1:first-child,.content-renderer>h2:first-child,.content-renderer>h3:first-child{margin-top:0}.content-renderer p{margin:0 0 1.125rem;color:var(--text-secondary)}.content-renderer p:last-child{margin-bottom:0}.content-renderer ul,.content-renderer ol{margin:0 0 1.25rem;padding-left:1.75rem}.content-renderer ol{list-style-type:decimal}.content-renderer li{margin-bottom:.375rem;color:var(--text-secondary);line-height:1.75}.content-renderer li::marker{color:var(--primary, #72d3f7);font-weight:700}.content-renderer ul ul,.content-renderer ol ol,.content-renderer ul ol,.content-renderer ol ul{margin:.375rem 0 0;padding-left:1.5rem}.content-renderer ul ul{list-style-type:circle}.content-renderer ul ul ul{list-style-type:square}.content-renderer li p{margin:.25rem 0;display:inline}.content-renderer a{color:var(--primary-text, #0c4a6e);text-decoration:underline;text-decoration-color:var(--primary, #72d3f7);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}.content-renderer a:hover{color:var(--primary-hover, #4ec9f5);text-decoration-color:currentColor}.content-renderer strong{font-weight:700;color:var(--text-primary)}.content-renderer em{font-style:italic;color:var(--text-secondary)}.content-renderer u{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.content-renderer s{text-decoration:line-through;color:var(--text-muted)}.content-renderer mark{padding:.1em .35em;border-radius:.25rem;background:#fbbf2440;color:inherit}.content-renderer mark[data-color="#a97d0f"]{background:#a97d0f40}.content-renderer mark[data-color="#20b632"]{background:#20b63240}.content-renderer mark[data-color="#2563eb"]{background:#2563eb40}.content-renderer hr{border:none;border-top:1px solid var(--border-color);margin:2rem 0}.content-renderer blockquote{border-left:3px solid var(--primary, #72d3f7);margin:1.5rem 0;padding:.875rem 1.25rem;background:var(--primary-light, #e0f5fd);border-radius:0 .5rem .5rem 0;color:var(--primary-text, #0c4a6e)}.content-renderer blockquote p{margin:0;color:inherit;font-style:italic}.content-renderer code{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.3rem;color:var(--primary-text, #0c4a6e);padding:.15em .45em;font-family:DM Mono,Consolas,Monaco,monospace;font-size:.875em;font-weight:500;vertical-align:baseline}.content-renderer-pre-wrap{position:relative;margin:1.5rem 0}.content-renderer pre{position:relative;background:#1e1e2e!important;border:1px solid rgba(255,255,255,.06)!important;border-radius:.75rem!important;padding:0!important;margin:1.5rem 0!important;overflow:hidden!important;box-shadow:0 2px 16px #00000024!important}.content-renderer-pre-wrap .content-renderer pre{margin:0!important;padding-top:2.25rem!important}.content-renderer pre.content-renderer-pre-single-line{min-height:3rem}.content-renderer pre code{display:block!important;background:none!important;border:none!important;padding:1.25rem 1.5rem!important;font-size:.9em!important;line-height:1.7!important;overflow-x:auto!important;font-family:DM Mono,Consolas,Monaco,monospace!important;font-weight:400!important;color:#cdd6f4!important}.content-renderer pre:hover:after{content:"";position:absolute;inset:0;border:1px solid rgba(114,211,247,.3);border-radius:.75rem;pointer-events:none;transition:opacity .2s}.content-renderer pre code::-webkit-scrollbar{height:5px}.content-renderer pre code::-webkit-scrollbar-track{background:transparent}.content-renderer pre code::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.content-renderer pre code::-webkit-scrollbar-thumb:hover{background:#ffffff47}.content-renderer-code-lang-badge{position:absolute;top:.625rem;right:.75rem;z-index:1;padding:.2rem .625rem;font-size:.7rem;font-weight:600;border-radius:.3rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#ffffff73;letter-spacing:.06em;white-space:nowrap;pointer-events:none;font-family:DM Mono,monospace;text-transform:uppercase}.content-renderer-code-lang-badge[data-lang=python]{color:#4ec9b0;border-color:#4ec9b04d}.content-renderer-code-lang-badge[data-lang=javascript],.content-renderer-code-lang-badge[data-lang=js]{color:#f7df1e;border-color:#f7df1e4d}.content-renderer-code-lang-badge[data-lang=typescript],.content-renderer-code-lang-badge[data-lang=ts]{color:#3b82f6;border-color:#3b82f64d}.content-renderer-code-lang-badge[data-lang=html]{color:#e34c26;border-color:#e34c264d}.content-renderer-code-lang-badge[data-lang=css]{color:#6ca0dc;border-color:#6ca0dc4d}.content-renderer-code-lang-badge[data-lang=java]{color:#ed4c3d;border-color:#ed4c3d4d}.content-renderer-code-lang-badge[data-lang=cpp],.content-renderer-code-lang-badge[data-lang=c]{color:#80b2e0;border-color:#80b2e04d}.content-renderer-code-lang-badge[data-lang=bash],.content-renderer-code-lang-badge[data-lang=shell],.content-renderer-code-lang-badge[data-lang=sh]{color:#7ec8a3;border-color:#7ec8a34d}.content-renderer-code-lang-badge[data-lang=rust]{color:#dea584;border-color:#dea5844d}.content-renderer-code-lang-badge[data-lang=go]{color:#00acd7;border-color:#00acd74d}.content-renderer-code-lang-badge[data-lang=sql]{color:#f29111;border-color:#f291114d}.content-renderer-code-lang-badge[data-lang=json]{color:#a8b3cf;border-color:#a8b3cf4d}.content-renderer .hljs{background:transparent!important;padding:0!important}.content-renderer pre code span,.content-renderer pre code .hljs,.content-renderer pre code [class*=hljs-],.content-renderer pre span,.content-renderer pre .hljs span{color:unset!important}.content-renderer .hljs-comment,.content-renderer .hljs-quote{color:#6a9955!important;font-style:italic!important}.content-renderer .hljs-keyword,.content-renderer .hljs-selector-tag,.content-renderer .hljs-literal,.content-renderer .hljs-section,.content-renderer .hljs-link{color:#569cd6!important;font-weight:600!important}.content-renderer .hljs-string,.content-renderer .hljs-title,.content-renderer .hljs-name,.content-renderer .hljs-type,.content-renderer .hljs-attribute{color:#ce9178!important}.content-renderer .hljs-number,.content-renderer .hljs-symbol,.content-renderer .hljs-bullet,.content-renderer .hljs-meta{color:#b5cea8!important}.content-renderer .hljs-built_in,.content-renderer .hljs-builtin-name,.content-renderer .hljs-class .hljs-title{color:#4ec9b0!important;font-weight:600!important}.content-renderer .hljs-function .hljs-title{color:#dcdcaa!important;font-weight:600!important}.content-renderer .hljs-regexp,.content-renderer .hljs-variable,.content-renderer .hljs-template-variable{color:#9cdcfe!important}.content-renderer .hljs-tag{color:#569cd6!important}.content-renderer .hljs-operator,.content-renderer .hljs-punctuation{color:#d4d4d4!important}.content-renderer .hljs-deletion{color:#ef4444!important;background:#ef44441f!important}.content-renderer .hljs-addition{color:#22c55e!important;background:#22c55e1f!important}.content-renderer .hljs-emphasis{font-style:italic!important}.content-renderer .hljs-strong{font-weight:700!important}.content-renderer img{max-width:100%;height:auto;border-radius:.75rem;margin:1.5rem 0;box-shadow:0 2px 12px #0000001a;transition:transform .25s,box-shadow .25s;display:block}.content-renderer img:hover{transform:scale(1.01);box-shadow:0 6px 20px #00000026}.content-renderer table{width:100%;border-collapse:collapse;margin:1.5rem 0;border-radius:.625rem;overflow:hidden;border:1px solid var(--border-color);font-size:.9375rem}.content-renderer table thead{background:var(--primary-light, #e0f5fd)}.content-renderer table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--primary-text, #0c4a6e);border-right:1px solid var(--primary-medium, #bbeaf8);border-bottom:2px solid var(--primary-medium, #bbeaf8);white-space:nowrap}.content-renderer table th:last-child{border-right:none}.content-renderer table td{padding:.75rem 1rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:var(--bg-primary)}.content-renderer table td:last-child{border-right:none}.content-renderer table tbody tr:last-child td{border-bottom:none}.content-renderer table tbody tr:hover td{background:var(--bg-secondary)}.content-renderer [data-type=inline-math]{display:inline-block;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.3rem;padding:.1em .4em;margin:0 .1em;vertical-align:middle;cursor:default;transition:background .15s}.content-renderer [data-type=inline-math]:hover{background:var(--primary-medium, #bbeaf8)}.content-renderer [data-type=block-math]{display:block;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.625rem;padding:1.25rem 1.5rem;margin:1.75rem 0;text-align:center;overflow-x:auto;cursor:default}.content-renderer [data-type=block-math]:hover{background:var(--primary-medium, #bbeaf8)}.content-renderer .katex{color:var(--text-primary)!important;font-size:1.05em!important}.content-renderer .katex .base,.content-renderer .katex .mord,.content-renderer .katex .mopen,.content-renderer .katex .mclose,.content-renderer .katex .mpunct,.content-renderer .katex .mbin,.content-renderer .katex .mrel,.content-renderer .katex .mfrac,.content-renderer .katex .sqrt{color:var(--text-primary)!important}.content-renderer .katex .mop{color:var(--primary-text, #0c4a6e)!important}.content-renderer .katex-display{margin:0!important;text-align:center!important}.content-renderer [data-type=inline-math]:empty:before,.content-renderer [data-type=block-math]:empty:before{content:attr(data-latex);color:var(--text-muted);font-family:DM Mono,monospace;font-size:.9em}.content-renderer [style*="text-align: center"]{text-align:center!important}.content-renderer [style*="text-align: right"]{text-align:right!important}.content-renderer [style*="text-align: left"]{text-align:left!important}.content-renderer ::-moz-selection{background:var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}.content-renderer ::selection{background:var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}@media(max-width:640px){.content-renderer{font-size:.9375rem}.content-renderer h1{font-size:1.625rem}.content-renderer h2{font-size:1.375rem}.content-renderer h3{font-size:1.1875rem}.content-renderer table{font-size:.875rem}.content-renderer table th,.content-renderer table td{padding:.5rem .625rem}.content-renderer pre code{font-size:.85em!important;padding:1rem 1.25rem!important}}.ce-root{display:flex;flex-direction:column;height:100%;width:100%;position:relative;background:var(--surface, #fff)}.ce-root.ce-fullscreen{position:fixed;inset:0;z-index:9999;height:100dvh;width:100vw;border-radius:0}.ce-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:44px;flex-shrink:0;background:var(--surface-alt, #f1f5f9);border-bottom:1px solid var(--border, #e2e8f0);gap:8px}.ce-toolbar-left{display:flex;align-items:center;gap:6px;min-width:0}.ce-toolbar-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.ce-lang-icon{color:var(--primary, #72d3f7);flex-shrink:0}.ce-lang-label{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary, #475569);white-space:nowrap}.ce-readonly-badge{font-size:.6875rem;font-weight:600;padding:1px 7px;border-radius:4px;background:var(--border, #e2e8f0);color:var(--text-muted, #94a3b8)}.ce-save-status{font-size:.6875rem;font-weight:500;color:var(--success, #10b981);display:flex;align-items:center;gap:3px;opacity:1;transition:opacity .3s}.ce-sep{width:1px;height:18px;background:var(--border, #e2e8f0);margin:0 2px;flex-shrink:0}.ce-icon-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary, #475569);cursor:pointer;transition:background .12s,color .12s;flex-shrink:0;position:relative}.ce-icon-btn:hover{background:var(--border, #e2e8f0);color:var(--text, #0f172a)}.ce-icon-btn.active{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e)}.ce-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ce-btn-run{display:flex;align-items:center;gap:5px;padding:0 12px;height:30px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);color:var(--text-secondary, #475569);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.ce-btn-run:hover{background:var(--surface-alt, #f1f5f9);border-color:var(--border-hover, #cbd5e1);color:var(--text, #0f172a)}.ce-btn-run:disabled{opacity:.4;cursor:not-allowed}.ce-btn-submit{display:flex;align-items:center;gap:5px;padding:0 14px;height:30px;border-radius:6px;border:none;background:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);font-size:.8125rem;font-weight:700;cursor:pointer;transition:background .12s,box-shadow .12s;white-space:nowrap}.ce-btn-submit:hover{background:var(--primary-hover, #4ec9f5);box-shadow:0 2px 8px #72d3f766}.ce-btn-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.ce-popover-wrap{position:relative}.ce-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:200;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;box-shadow:0 8px 24px #0f172a1f,0 2px 6px #0f172a0f;padding:14px;min-width:220px;animation:ce-pop-in .12s ease}@keyframes ce-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ce-popover-title{font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted, #94a3b8);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border, #e2e8f0)}.ce-setting-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;gap:12px}.ce-setting-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary, #475569)}.ce-font-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--border, #e2e8f0);border-radius:6px;overflow:hidden}.ce-font-stepper button{width:26px;height:26px;border:none;background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569);cursor:pointer;font-size:1rem;line-height:1;transition:background .1s;display:flex;align-items:center;justify-content:center}.ce-font-stepper button:hover{background:var(--border, #e2e8f0)}.ce-font-stepper span{min-width:30px;text-align:center;font-size:.8125rem;font-weight:700;color:var(--text, #0f172a);font-variant-numeric:tabular-nums;border-left:1px solid var(--border, #e2e8f0);border-right:1px solid var(--border, #e2e8f0);padding:0 4px;height:26px;display:flex;align-items:center;justify-content:center}.ce-tab-toggle{display:flex;border:1px solid var(--border, #e2e8f0);border-radius:6px;overflow:hidden}.ce-tab-toggle button{padding:3px 10px;border:none;background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .1s,color .1s}.ce-tab-toggle button+button{border-left:1px solid var(--border, #e2e8f0)}.ce-tab-toggle button.active{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e)}.ce-toggle-switch{position:relative;width:34px;height:18px;flex-shrink:0}.ce-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.ce-toggle-track{position:absolute;inset:0;background:var(--border, #e2e8f0);border-radius:999px;cursor:pointer;transition:background .2s}.ce-toggle-switch input:checked+.ce-toggle-track{background:var(--primary, #72d3f7)}.ce-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #00000026}.ce-toggle-switch input:checked+.ce-toggle-track:after{transform:translate(16px)}.ce-shortcut-list{display:flex;flex-direction:column;gap:6px;min-width:260px}.ce-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ce-shortcut-desc{font-size:.8125rem;color:var(--text-secondary, #475569)}.ce-shortcut-keys{display:flex;gap:3px;flex-shrink:0}.ce-key{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;min-width:22px;height:20px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border-hover, #cbd5e1);border-bottom-width:2px;border-radius:4px;font-size:.6875rem;font-weight:700;font-family:var(--font-mono, monospace);color:var(--text, #0f172a);white-space:nowrap}.ce-statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:24px;flex-shrink:0;background:var(--surface-alt, #f1f5f9);border-top:1px solid var(--border, #e2e8f0);font-size:.6875rem;font-family:var(--font-mono, "DM Mono", monospace);color:var(--text-muted, #94a3b8);gap:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ce-statusbar-left,.ce-statusbar-right{display:flex;align-items:center;gap:10px}.ce-status-item{display:flex;align-items:center;gap:3px;white-space:nowrap}.ce-status-item strong{color:var(--text-secondary, #475569);font-weight:600}.ce-editor-wrap{flex:1;min-height:0;overflow:hidden;position:relative}.ce-editor-wrap .cm-editor{height:100%;font-family:DM Mono,Fira Code,JetBrains Mono,monospace}.ce-editor-wrap .cm-scroller{font-family:DM Mono,Fira Code,JetBrains Mono,monospace}.test-results-container{border-top:1px solid var(--border-color);background:var(--bg-secondary);min-height:0;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.results-header{padding:.875rem 1.25rem;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;flex-shrink:0}.results-header:before{content:"";position:absolute;inset:0;opacity:.1;background:linear-gradient(90deg,transparent,currentColor,transparent);animation:shimmer 3s infinite}.results-header.success{background:linear-gradient(135deg,#34d39926,#10b9810d);border-bottom:2px solid rgba(52,211,153,.3);color:#34d399}.results-header.partial{background:linear-gradient(135deg,#fbbf2426,#f59e0b0d);border-bottom:2px solid rgba(251,191,36,.3);color:#fbbf24}.results-header.error{background:linear-gradient(135deg,#ef444426,#dc26260d);border-bottom:2px solid rgba(239,68,68,.3);color:#ef4444}.status-icon-wrapper{display:flex;align-items:center;gap:.75rem;position:relative;z-index:1}.status-icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;animation:pulse-subtle 2s ease-in-out infinite}.status-icon.success{background:#34d39933;box-shadow:0 0 20px #34d3994d}.status-icon.partial{background:#fbbf2433;box-shadow:0 0 20px #fbbf244d}.status-icon.error{background:#ef444433;box-shadow:0 0 20px #ef44444d}@keyframes pulse-subtle{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.status-text{font-size:.9375rem;font-weight:700;letter-spacing:.025em}.score-metrics{display:flex;align-items:center;gap:.75rem;font-size:.8125rem;position:relative;z-index:1}.metric-item{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.metric-label{color:var(--text-muted)}.metric-value{color:var(--text-primary);font-weight:700;font-size:1rem}.test-cases-section{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;width:100%}.test-cases-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem;flex-shrink:0}.test-cases-title{font-size:.875rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.test-cases-title:before{content:"";font-size:1.25rem}.test-actions{display:flex;gap:.5rem}.btn-expand-collapse{padding:.375rem .75rem;font-size:.75rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:.375rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn-expand-collapse:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#667eea4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-expand-collapse:hover:before{width:300px;height:300px}.btn-expand-collapse:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d;border-color:#667eea80}.btn-expand-collapse:active{transform:translateY(0)}.btn-expand-collapse span{position:relative;z-index:1}.test-cases-list{display:flex;flex-direction:column;gap:.5rem;width:100%;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.25rem}.test-case-card{background:var(--bg-tertiary);border-radius:.5rem;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex-shrink:0}.test-case-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;transition:all .3s}.test-case-card.passed{border:2px solid rgba(52,211,153,.3)}.test-case-card.passed:before{background:linear-gradient(90deg,transparent,#34d399,transparent)}.test-case-card.failed{border:2px solid rgba(239,68,68,.3)}.test-case-card.failed:before{background:linear-gradient(90deg,transparent,#ef4444,transparent)}.test-case-card:hover{box-shadow:var(--shadow-md)}.test-case-card.expanded{box-shadow:var(--shadow-lg)}.test-case-summary{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s}.test-case-summary:hover{background:var(--primary-light, #e0f5fd)}.test-case-left{display:flex;align-items:center;gap:1rem}.test-status-indicator{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.test-status-indicator:after{content:"";position:absolute;inset:-4px;border-radius:50%;opacity:0;transition:opacity .3s}.test-status-indicator.success{background:linear-gradient(135deg,#34d39933,#10b9811a);color:#34d399;border:2px solid rgba(52,211,153,.4)}.test-status-indicator.success:after{background:radial-gradient(circle,rgba(52,211,153,.4) 0%,transparent 70%)}.test-status-indicator.failure{background:linear-gradient(135deg,#ef444433,#dc26261a);color:#ef4444;border:2px solid rgba(239,68,68,.4)}.test-status-indicator.failure:after{background:radial-gradient(circle,rgba(239,68,68,.4) 0%,transparent 70%)}.test-case-card:hover .test-status-indicator:after{opacity:1}.test-info{display:flex;align-items:center;gap:.75rem}.test-name{font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.badge-hidden{padding:.25rem .625rem;background:linear-gradient(135deg,#fbbf2433,#f59e0b1a);border:1px solid rgba(251,191,36,.3);color:#fbbf24;border-radius:.375rem;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.test-case-right{display:flex;align-items:center;gap:.75rem}.test-metric{font-size:.75rem;font-weight:600;padding:.25rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-secondary);font-family:Fira Code,Courier New,monospace}.expand-arrow{width:1.25rem;height:1.25rem;color:var(--text-muted);transition:transform .3s cubic-bezier(.4,0,.2,1)}.expand-arrow.rotated{transform:rotate(180deg)}.test-case-details{padding:1.5rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);animation:slideDown .3s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-row{margin-bottom:1rem}.detail-row:last-child{margin-bottom:0}.detail-label{font-size:.8125rem;font-weight:700;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.detail-label:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.code-output{padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;font-family:Fira Code,JetBrains Mono,Courier New,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto;position:relative;border:1px solid var(--border-color);color:var(--text-primary)}.code-output:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px}.code-output.input{color:#1d4ed8;border-left-color:#60a5fa;background:#3b82f60a}.code-output.input:before{background:linear-gradient(180deg,#60a5fa,#3b82f6)}.code-output.expected{color:#1d4ed8;border-left-color:#818cf8;background:#6366f10a}.code-output.expected:before{background:linear-gradient(180deg,#818cf8,#6366f1)}.code-output.actual-correct{color:#065f46;border-left-color:#34d399;background:#34d3990d}.code-output.actual-correct:before{background:linear-gradient(180deg,#34d399,#10b981);box-shadow:0 0 10px #34d39980}.code-output.actual-incorrect{color:#991b1b;border-left-color:#ef4444;background:#ef44440d}.code-output.actual-incorrect:before{background:linear-gradient(180deg,#ef4444,#dc2626);box-shadow:0 0 10px #ef444480}.code-output.error{color:#92400e;border-left-color:#fbbf24;background:#fbbf240d}.code-output.error:before{background:linear-gradient(180deg,#fbbf24,#f59e0b)}.hidden-test-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#fbbf241a,#f59e0b0d);border:1px solid rgba(251,191,36,.3);border-radius:.5rem;color:#fbbf24;font-size:.8125rem;line-height:1.5}.hidden-test-notice svg{flex-shrink:0;margin-top:.125rem}.legacy-output-section{padding:1.5rem;max-height:20rem;overflow-y:auto}.output-block{margin-bottom:1.5rem}.output-block:last-child{margin-bottom:0}.output-title{font-size:.875rem;font-weight:700;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.output-content{padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;font-family:Fira Code,Courier New,monospace;font-size:.875rem;color:var(--text-primary);overflow-x:auto;border:1px solid var(--border-color)}.output-content.error{color:#991b1b;border-left:3px solid #ef4444}.metrics-row{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;color:var(--text-muted, #94a3b8)}.metrics-row span{display:flex;align-items:center;gap:.5rem}.metrics-row span strong{color:var(--text, #0f172a);font-weight:600}.legacy-output-section::-webkit-scrollbar,.code-output::-webkit-scrollbar,.test-cases-list::-webkit-scrollbar{width:6px;height:6px}.legacy-output-section::-webkit-scrollbar-track,.code-output::-webkit-scrollbar-track,.test-cases-list::-webkit-scrollbar-track{background:var(--surface-alt, #f1f5f9);border-radius:3px}.legacy-output-section::-webkit-scrollbar-thumb,.code-output::-webkit-scrollbar-thumb,.test-cases-list::-webkit-scrollbar-thumb{background:#667eea59;border-radius:3px}.legacy-output-section::-webkit-scrollbar-thumb:hover,.code-output::-webkit-scrollbar-thumb:hover,.test-cases-list::-webkit-scrollbar-thumb:hover{background:#667eea80}@media(max-width:768px){.score-metrics{flex-direction:column;align-items:flex-start;gap:.75rem}.test-cases-header{flex-direction:column;align-items:flex-start;gap:1rem}.test-case-right{flex-direction:column;align-items:flex-end;gap:.5rem}.metrics-row{flex-direction:column;align-items:flex-start;gap:.5rem}}@media print{.test-actions{display:none}.test-case-card{page-break-inside:avoid}}.leetcode-studio{display:grid;grid-template-columns:45% 55%;height:100%;min-height:0;background:var(--bg);overflow:hidden;gap:0;max-width:100%;width:100%;box-sizing:border-box}.leetcode-studio.full-width-editor{grid-template-columns:1fr}.problem-panel{background:var(--surface);display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border)}.panel-header{padding:1.25rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.875rem;position:relative;box-shadow:var(--shadow-sm);flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.panel-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent)}.panel-header-top{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.panel-header-title{font-size:1.25rem;font-weight:600;color:var(--text);margin:0;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;letter-spacing:-.005em}.panel-title-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--primary-light);border:1px solid var(--primary-medium);border-radius:.625rem;color:var(--primary-text);flex-shrink:0;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.panel-title-icon:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(114,211,247,.2),transparent);transition:left .5s}.panel-title-icon:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-md);border-color:var(--primary)}.panel-title-icon:hover:before{left:100%}.panel-title-icon svg{width:1.25rem;height:1.25rem;stroke-width:2.5}.problem-meta{display:flex;gap:.75rem;align-items:center;flex-shrink:0;flex-wrap:wrap}.difficulty-badge,.lang-badge{padding:.5rem 1rem;border-radius:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;box-shadow:var(--shadow-xs);transition:all .3s;border:1px solid transparent;white-space:nowrap}.difficulty-badge:hover,.lang-badge:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-md);filter:brightness(1.05)}.difficulty-badge:active,.lang-badge:active{transform:translateY(0) scale(1)}.difficulty-badge{background:var(--warning-light);color:#92400e;border-color:var(--warning)}.difficulty-badge.easy{background:var(--success-light);color:#065f46;border-color:var(--success)}.difficulty-badge.hard{background:var(--danger-light);color:#991b1b;border-color:var(--danger)}.lang-badge{background:var(--primary-light);color:var(--primary-text);border-color:var(--primary-medium);position:relative;overflow:hidden}.lang-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(114,211,247,.25),transparent);transition:left .5s}.lang-badge:hover:before{left:100%}.problem-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.25rem 1.5rem;min-height:0}.problem-content::-webkit-scrollbar{width:8px}.problem-content::-webkit-scrollbar-track{background:var(--surface-alt)}.problem-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.problem-content::-webkit-scrollbar-thumb:hover{background:var(--primary-medium)}.problem-description{padding:1.25rem;background:var(--surface-alt);border-radius:.625rem;border:1px solid var(--border);border-left:3px solid var(--primary);line-height:1.75;color:var(--text-secondary);font-size:.9375rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);position:relative;overflow-x:hidden;word-wrap:break-word}.problem-description:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-medium) 100%)}.problem-description h1,.problem-description h2,.problem-description h3,.problem-statement-content h1,.problem-statement-content h2,.problem-statement-content h3{color:var(--text);font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;line-height:1.3}.problem-description h1,.problem-statement-content h1{font-size:1.75rem;background:linear-gradient(135deg,var(--text) 0%,var(--primary-text) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0}.problem-description h2,.problem-statement-content h2{font-size:1.5rem;color:var(--primary-text);border-bottom:2px solid var(--border);padding-bottom:.5rem}.problem-description h3,.problem-statement-content h3{font-size:1.25rem;color:var(--text-secondary)}.problem-description p,.problem-statement-content p{margin:1rem 0;color:var(--text-secondary);line-height:1.8}.problem-description strong,.problem-statement-content strong{color:var(--text);font-weight:700}.problem-description ul,.problem-description ol,.problem-statement-content ul,.problem-statement-content ol{margin:1rem 0;padding-left:1.5rem}.problem-description li,.problem-statement-content li{margin:.5rem 0;color:var(--text-secondary);line-height:1.7}.problem-description code,.problem-statement-content code{background:var(--primary-light);border:1px solid var(--primary-medium);border-radius:.375rem;color:var(--primary-text);padding:.2rem .5rem;font-family:var(--font-mono);font-size:.9em;font-weight:500}.problem-description pre,.problem-statement-content pre{background:var(--surface-alt);border:1px solid var(--border);border-radius:.75rem;padding:1rem;margin:1rem 0;overflow-x:auto}.problem-description pre code,.problem-statement-content pre code{background:none;border:none;padding:0;color:var(--warning)}.problem-statement-content{line-height:1.75;color:var(--text-secondary);font-size:.9375rem;word-wrap:break-word}.problem-statement-content>*:first-child{margin-top:0}.problem-statement-content>*:last-child{margin-bottom:0}.sample-tests{margin-top:1.5rem}.sample-tests h3{font-size:1rem;font-weight:700;color:var(--text-secondary);margin-bottom:1rem;display:flex;align-items:center;gap:.625rem;padding-bottom:.75rem;border-bottom:2px solid var(--border)}.sample-tests h3:before{content:"";font-size:1.125rem}.sample-test{margin-bottom:1rem;padding:1.125rem;background:var(--surface-alt);border-radius:.75rem;border:1.5px solid var(--border);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;word-wrap:break-word;box-shadow:var(--shadow-sm)}.sample-test:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary),var(--primary-medium),transparent);opacity:0;transition:opacity .3s}.sample-test:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-md);border-color:var(--primary-medium);background:var(--surface)}.sample-test:hover:before{opacity:1}.test-header{margin-bottom:1rem;color:var(--primary-text);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.5rem}.test-header:before{content:"📋";font-size:.9375rem}.test-io{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:1400px){.test-io{grid-template-columns:1fr;gap:1rem}}.test-io>div{position:relative}.test-io>div label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary);margin-bottom:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.test-io>div label:before{content:"";width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-medium) 100%);flex-shrink:0}.test-io>div:first-child label:before{background:linear-gradient(135deg,#3b82f6,#2563eb)}.test-io>div:last-child label:before{background:linear-gradient(135deg,var(--success) 0%,#059669 100%)}.test-io>div pre{padding:.875rem 1rem;background:var(--surface);border-radius:.625rem;font-family:var(--font-mono);font-size:.8125rem;color:#2563eb;overflow-x:auto;overflow-y:hidden;margin:0;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);transition:all .3s;line-height:1.6;white-space:pre-wrap;word-break:break-word}.test-io>div pre:hover{border-color:var(--primary-medium);box-shadow:var(--shadow-md);background:var(--surface-alt)}.test-io>div:last-child pre{color:#059669;border-color:#10b9814d}.test-io>div:last-child pre:hover{border-color:#10b98180;box-shadow:var(--shadow-md);background:var(--surface-alt)}.editor-panel{background:var(--bg);display:flex;flex-direction:column;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:1rem;min-width:0;overflow:visible;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:101}.editor-header-left{display:flex;align-items:center;flex:0 1 auto;min-width:0}.editor-header-right{display:flex;align-items:center;gap:.75rem;flex:0 0 auto;flex-shrink:0}.editor-header-left h3,.code-editor-title{font-size:1rem;font-weight:600;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.code-editor-title.hide-at-full-zoom{display:none}.code-source-badge{padding:.375rem .875rem;background:var(--success-light);border:1px solid var(--success);color:#065f46;border-radius:.5rem;font-size:.8125rem;font-weight:600;display:flex;align-items:center;gap:.5rem;animation:pulse-glow 2s ease-in-out infinite;white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.code-source-badge:hover{transform:translateY(-1px) scale(1.05);box-shadow:var(--shadow-md)}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-sm),0 0 #10b98100}50%{box-shadow:var(--shadow-sm),0 0 12px #10b98140}}.editor-actions{display:flex;gap:.625rem;align-items:center;flex-shrink:0;min-width:0}.btn-reset,.btn-run,.btn-submit{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:none;border-radius:.5rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0}.btn-reset:before,.btn-run:before,.btn-submit:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-reset:active:before,.btn-run:active:before,.btn-submit:active:before{width:300px;height:300px}.btn-reset{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-reset:hover:not(:disabled){background:var(--surface);transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.btn-reset:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-run{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;box-shadow:0 4px 16px #10b9814d;position:relative}.btn-run:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s}.btn-run:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #10b98159;filter:brightness(1.05)}.btn-run:hover:not(:disabled):after{left:100%}.btn-run:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-submit{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-medium) 100%);color:var(--primary-text);box-shadow:0 4px 16px #72d3f759;position:relative}.btn-submit:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-submit:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #72d3f773;filter:brightness(1.05)}.btn-submit:hover:not(:disabled):after{left:100%}.btn-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-reset:disabled,.btn-run:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-reset:focus-visible,.btn-run:focus-visible,.btn-submit:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:var(--shadow-glow)}.code-editor-container{flex:1;overflow:hidden;position:relative}.bottom-panel{height:40%;min-height:300px;display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.tab-header{display:flex;background:var(--surface-alt);border-bottom:1px solid var(--border);flex-shrink:0}.tab{flex:1;padding:.875rem 1.25rem;background:transparent;border:none;color:var(--text-muted);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s;position:relative;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--text);background:var(--surface)}.tab.active{color:var(--primary-text);background:var(--primary-light);border-bottom-color:var(--primary)}.tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-medium));animation:tabUnderline .3s ease-out}@keyframes tabUnderline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tab-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.25rem;min-height:0}.tab-content::-webkit-scrollbar{width:8px}.tab-content::-webkit-scrollbar-track{background:var(--surface-alt)}.tab-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.tab-content::-webkit-scrollbar-thumb:hover{background:var(--primary-medium)}.tab-hint{color:var(--text-muted);font-size:.875rem;text-align:center;padding:1.5rem}.testcases-tab{display:flex;flex-direction:column;gap:1rem}.mini-test{padding:1rem;background:var(--surface-alt);border-radius:.5rem;border:1px solid var(--border);font-size:.875rem;color:var(--text-secondary)}.mini-test strong{display:block;margin-bottom:.5rem;color:var(--primary-text)}.mini-test div{margin-bottom:.25rem}.mini-test code{background:var(--surface);border:1px solid var(--border);padding:.25rem .5rem;border-radius:.25rem;font-family:var(--font-mono);color:var(--text)}.results-tab,.submissions-tab{min-height:0}.submission-list{display:flex;flex-direction:column;gap:.75rem}.submission-item{padding:1rem;background:var(--surface-alt);border-radius:.5rem;border:1px solid var(--border);cursor:pointer;transition:all .3s}.submission-item:hover{transform:translate(4px);background:var(--surface);box-shadow:var(--shadow-md);border-color:var(--primary-medium)}.submission-info{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.status-badge{padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-badge.pass{background:var(--success-light);color:#065f46;border:1px solid var(--success)}.status-badge.fail{background:var(--warning-light);color:#92400e;border:1px solid var(--warning)}.status-badge.error{background:var(--danger-light);color:#991b1b;border:1px solid var(--danger)}.submission-score{font-size:1rem;font-weight:700;color:var(--text)}.submission-date{font-size:.8125rem;color:var(--text-muted);margin-left:auto}.submission-tests{font-size:.875rem;color:var(--text-secondary)}.code-flow-loading,.code-flow-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary);background:var(--bg)}.spinner-large{width:3rem;height:3rem;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:1rem;height:1rem;border:2px solid var(--border);border-top-color:var(--primary-text);border-radius:50%;animation:spin .6s linear infinite}.btn-retry{margin-top:1rem;padding:.75rem 1.5rem;background:var(--primary);color:var(--primary-text);border:none;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 6px 20px #72d3f759;background:var(--primary-hover)}.lab-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;margin-top:1.25rem;padding:1rem;background:var(--surface-alt);border-radius:.625rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}@media(max-width:1400px){.lab-stats{grid-template-columns:1fr;gap:.75rem}}.stat-item{display:flex;flex-direction:column;gap:.375rem;padding:.75rem;background:var(--surface);border-radius:.5rem;border:1px solid var(--border);transition:all .3s;position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-medium) 100%);opacity:0;transition:opacity .3s}.stat-item:hover{transform:translateY(-2px);border-color:var(--primary-medium);box-shadow:var(--shadow-md)}.stat-item:hover:before{opacity:1}.stat-label{font-size:.75rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:.5rem}.stat-label:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-medium) 100%)}.stat-value{font-size:1.125rem;font-weight:700;color:var(--text);line-height:1.2}@media(min-width:1920px){.leetcode-studio{grid-template-columns:40% 60%;max-width:1920px;margin:0 auto}.panel-header{padding:1.5rem 2rem}.panel-header-title{font-size:1.375rem}.problem-content{padding:1.75rem 2rem}.editor-header{padding:1.25rem 1.75rem}.btn-reset,.btn-run,.btn-submit{padding:.625rem 1.125rem;font-size:.875rem}}@media(min-width:1440px)and (max-width:1919px){.leetcode-studio{grid-template-columns:42% 58%}.panel-header{padding:1.25rem 1.75rem}.problem-content{padding:1.5rem 1.75rem}}@media(min-width:1024px)and (max-width:1439px){.leetcode-studio{grid-template-columns:45% 55%}.panel-header{padding:1.125rem 1.5rem}.panel-header-title{font-size:1.125rem}.problem-content{padding:1.25rem 1.5rem}.editor-header{padding:.8rem 1.5rem}.btn-reset,.btn-run,.btn-submit{padding:.5rem .875rem;font-size:.8125rem}.code-source-badge{font-size:.75rem;padding:.375rem .75rem}}@media(min-width:768px)and (max-width:1023px)and (hover:none){.btn-reset,.btn-run,.btn-submit{min-height:44px;min-width:44px}.tab{min-height:44px;padding:.875rem 1.25rem}}@media(min-width:768px)and (max-width:1023px){.leetcode-studio{grid-template-columns:1fr;grid-template-rows:45% 55%}.problem-panel{border-right:none;border-bottom:1px solid var(--border);max-height:45vh}.panel-header{padding:1rem 1.25rem;gap:.75rem}.panel-header-title{font-size:1.125rem}.problem-content{padding:1rem 1.25rem}.editor-header{padding:.875rem 1.25rem}.editor-header-right{gap:.625rem}.btn-reset,.btn-run,.btn-submit{padding:.5rem .75rem;font-size:.75rem;gap:.375rem}.btn-reset svg,.btn-run svg,.btn-submit svg{width:1rem;height:1rem}.code-source-badge{font-size:.75rem;padding:.3125rem .625rem}.test-io{grid-template-columns:1fr;gap:.875rem}.sample-test{padding:.875rem}.bottom-panel{height:45%}}@media(max-width:767px){.leetcode-studio{grid-template-columns:1fr;grid-template-rows:40% 60%}.problem-panel{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}.panel-header{padding:.875rem 1rem;gap:.625rem}.panel-header-top{gap:.5rem;flex-wrap:wrap}.panel-header-title{font-size:1rem}.panel-title-icon{width:2rem;height:2rem}.panel-title-icon svg{width:1.125rem;height:1.125rem}.problem-content{padding:.875rem 1rem}.problem-description{font-size:.875rem;line-height:1.6}.sample-tests h3{font-size:.9375rem}.sample-test{padding:.75rem;margin-bottom:.75rem}.test-header{font-size:.75rem}.test-io{grid-template-columns:1fr;gap:.75rem}.test-io>div pre{padding:.625rem .75rem;font-size:.75rem}.lab-stats{padding:.875rem;gap:.75rem}.stat-item{padding:.625rem}.stat-value{font-size:1rem}.editor-header{flex-direction:column;align-items:flex-start;gap:.875rem;padding:.875rem 1rem}.editor-header-left h3{font-size:.9375rem}.editor-header-right{width:100%;flex-direction:column;align-items:stretch;gap:.625rem}.editor-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.btn-submit{grid-column:1 / -1}.btn-reset,.btn-run,.btn-submit{padding:.75rem 1rem;font-size:.8125rem;justify-content:center;min-height:44px;min-width:44px}.code-source-badge{width:100%;justify-content:center;font-size:.75rem;padding:.5rem .75rem}.bottom-panel{height:50%;min-height:250px}.tab{padding:.75rem 1rem;font-size:.8125rem}.tab-content{padding:1rem}}@media print{.editor-actions,.tab-header,.btn-retry{display:none}.leetcode-studio{display:block}.problem-panel,.editor-panel{page-break-inside:avoid}}.lp-wrap{--lp-primary: var(--primary, #72d3f7);--lp-primary-hover: var(--primary-hover, #4ec9f5);--lp-primary-text: var(--primary-text, #0c4a6e);--lp-primary-light: var(--primary-light, #e0f5fd);--lp-primary-medium: var(--primary-medium, #bbeaf8);--lp-green: #22c55e;--lp-green-bg: rgba(34, 197, 94, .12);--lp-green-border: rgba(34, 197, 94, .3);--lp-green-text: #15803d;--lp-topbar-h: 52px;--lp-sidebar-w: 260px;--lp-ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}.lp-wrap{position:fixed;inset:0;z-index:52;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.lp-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.lp-spinner{animation:lp-spin .75s linear infinite;color:var(--lp-primary)}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-state-heading{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.lp-state-text{font-size:.9375rem;color:var(--text-muted);margin:0}.lp-error-icon{color:#ef4444}.lp-topbar{height:var(--lp-topbar-h);min-height:var(--lp-topbar-h);flex-shrink:0;display:flex;align-items:center;gap:.625rem;padding:0 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 1px 3px #0000000f;z-index:30;overflow:hidden}.lp-sidebar-toggle{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lp-sidebar-toggle:hover{background:var(--lp-primary-light);border-color:var(--lp-primary);color:var(--lp-primary-text)}.lp-back-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s;white-space:nowrap;max-width:200px;overflow:hidden}.lp-back-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-back-btn:hover{background:var(--lp-primary-light);border-color:var(--lp-primary);color:var(--lp-primary-text);transform:translate(-2px)}.lp-topbar-divider{width:1px;height:20px;background:var(--border-color);flex-shrink:0}.lp-topbar-crumbs{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;overflow:hidden;min-width:0;flex:1}.lp-crumb-muted{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-crumb-sep{color:var(--text-muted);flex-shrink:0}.lp-crumb-active{color:var(--lp-primary-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-topbar-lesson-name{flex:1;font-size:.875rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.lp-topbar-right{flex-shrink:0;display:flex;align-items:center;gap:.5rem}.lp-done-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;background:var(--lp-green-bg);border:1px solid var(--lp-green-border);border-radius:9999px;color:var(--lp-green-text);font-size:.75rem;font-weight:700;white-space:nowrap}.lp-body{flex:1;display:flex;overflow:hidden;min-height:0;position:relative}.lp-sidebar-overlay{display:none;position:absolute;inset:0;background:#00000059;z-index:20}.lp-sidebar{width:var(--lp-sidebar-w);flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto;overflow-x:hidden;transition:transform .25s var(--lp-ease),width .25s var(--lp-ease)}@media(min-width:901px){.lp-sidebar:not(.lp-sidebar--open){width:0;min-width:0;overflow:hidden;border-right:none}}.lp-sidebar::-webkit-scrollbar{width:4px}.lp-sidebar::-webkit-scrollbar-track{background:transparent}.lp-sidebar::-webkit-scrollbar-thumb{background:var(--lp-primary-medium);border-radius:4px}.lp-sidebar-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.lp-sidebar-header-icon{color:var(--lp-primary-hover);flex-shrink:0}.lp-sidebar-course-title{font-size:.8125rem;font-weight:700;color:var(--text-primary);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.lp-sidebar-nav{flex:1;padding:.75rem 0 1.5rem}.lp-sidebar-module{margin-bottom:.25rem}.lp-sidebar-mod-label{padding:.5rem 1rem .25rem;font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.lp-sidebar-lesson{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem 1rem .5rem .875rem;background:transparent;border:none;text-align:left;cursor:pointer;transition:background .12s;border-left:2px solid transparent}.lp-sidebar-lesson:hover{background:var(--lp-primary-light)}.lp-sidebar-lesson.active{background:var(--lp-primary-light);border-left-color:var(--lp-primary)}.lp-sidebar-lesson.done .lp-sidebar-lesson-text{color:var(--text-muted)}.lp-sidebar-lesson.locked{cursor:not-allowed;opacity:.55}.lp-sidebar-lesson.locked:hover{background:transparent}.lp-sidebar-lesson.locked .lp-sidebar-lesson-icon{color:var(--text-muted)}.lp-sidebar-lesson-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-top:2px;color:var(--lp-green-text)}.lp-dot{display:block;width:6px;height:6px;border-radius:50%;background:var(--border-color)}.lp-sidebar-lesson.active .lp-dot{background:var(--lp-primary)}.lp-sidebar-lesson-text{font-size:.8125rem;font-weight:500;color:var(--text-secondary);line-height:1.4}.lp-sidebar-lesson.active .lp-sidebar-lesson-text{color:var(--lp-primary-text);font-weight:600}.lp-main{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;background:var(--bg-primary)}.lp-main::-webkit-scrollbar{width:6px}.lp-main::-webkit-scrollbar-track{background:transparent}.lp-main::-webkit-scrollbar-thumb{background:var(--lp-primary-medium);border-radius:4px}.lp-main::-webkit-scrollbar-thumb:hover{background:var(--lp-primary)}.lp-reading{max-width:800px;margin:0 auto;padding:2.5rem 2.5rem 5rem}.lp-lesson-head{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.lp-module-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--lp-primary-hover);margin:0 0 .625rem}.lp-lesson-title{font-family:Outfit,sans-serif;font-size:clamp(1.625rem,3.5vw,2.125rem);font-weight:800;color:var(--text-primary);margin:0 0 .75rem;line-height:1.2;letter-spacing:-.02em}.lp-lesson-desc{font-size:1.0625rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.65}.lp-progress-row{display:flex;align-items:center;gap:.875rem}.lp-progress-track{flex:1;height:5px;background:var(--lp-primary-light);border-radius:9999px;overflow:hidden}.lp-progress-fill{height:100%;background:linear-gradient(90deg,var(--lp-primary-hover),var(--lp-primary));border-radius:9999px;transition:width .6s var(--lp-ease);box-shadow:0 0 6px #72d3f780}.lp-progress-label{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.lp-body-content{font-size:1rem;line-height:1.75;color:var(--text-secondary);margin-bottom:3rem}.lp-section-head{margin-bottom:1.25rem}.lp-section-head-left{display:flex;align-items:center;gap:.625rem;margin-bottom:.375rem}.lp-section-icon{color:var(--lp-primary-hover);flex-shrink:0}.lp-section-title{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.lp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;background:var(--lp-primary-light);color:var(--lp-primary-text);border-radius:9999px;border:1px solid var(--lp-primary-medium)}.lp-section-sub{font-size:.875rem;color:var(--text-muted);margin:0}.lp-labs-section{margin-bottom:2.5rem;padding-top:2.5rem;border-top:1px solid var(--border-color)}.lp-labs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.lp-lab-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:1.25rem;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s;outline:none}.lp-lab-card:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--lp-primary-hover),var(--lp-primary));transform:scaleX(0);transform-origin:left;transition:transform .2s var(--lp-ease)}.lp-lab-card:hover,.lp-lab-card:focus{border-color:var(--lp-primary);box-shadow:0 6px 20px #72d3f726;transform:translateY(-2px)}.lp-lab-card:hover:after,.lp-lab-card:focus:after{transform:scaleX(1)}.lp-lab-card--done{border-color:var(--lp-green-border)}.lp-lab-card--done:after{background:linear-gradient(90deg,#15803d,var(--lp-green));transform:scaleX(1)}.lp-lab-card--done:hover,.lp-lab-card--done:focus{border-color:#22c55e80;box-shadow:0 6px 20px #22c55e26}.lp-lab-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.lp-lab-num{font-size:.75rem;font-weight:700;color:var(--lp-primary-text);background:var(--lp-primary-light);border:1px solid var(--lp-primary-medium);padding:.175rem .5rem;border-radius:6px}.lp-lab-badges{display:flex;align-items:center;gap:.375rem}.lp-lab-done-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:700;color:var(--lp-green-text);background:var(--lp-green-bg);border:1px solid var(--lp-green-border);padding:.175rem .5rem;border-radius:9999px}.lp-diff-badge{font-size:.6875rem;font-weight:700;padding:.175rem .5rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.04em}.lp-diff-easy{background:var(--lp-green-bg);color:var(--lp-green-text);border:1px solid var(--lp-green-border)}.lp-diff-medium{background:var(--lp-primary-light);color:var(--lp-primary-text);border:1px solid var(--lp-primary-medium)}.lp-diff-hard{background:#ef44441a;color:#b91c1c;border:1px solid rgba(239,68,68,.25)}.lp-lab-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.lp-lab-desc{font-size:.875rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lp-lab-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.875rem;border-top:1px solid var(--border-color);gap:.5rem;margin-top:auto}.lp-lab-lang{font-size:.6875rem;font-weight:700;color:var(--lp-primary-text);background:var(--lp-primary-light);border:1px solid var(--lp-primary-medium);padding:.175rem .5rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}.lp-lab-cta{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;background:linear-gradient(135deg,var(--lp-primary-hover),var(--lp-primary));border:none;border-radius:8px;color:var(--lp-primary-text);font-size:.8125rem;font-weight:700;cursor:pointer;transition:box-shadow .15s,transform .15s;white-space:nowrap}.lp-lab-cta:hover{box-shadow:0 3px 10px #72d3f766;transform:translateY(-1px)}.lp-lab-cta--done{background:var(--lp-green-bg);color:var(--lp-green-text);border:1px solid var(--lp-green-border)}.lp-lab-cta--done:hover{background:#22c55e33}.lp-modal-overlay{position:fixed;inset:0;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;animation:lp-fade .2s ease-out}@keyframes lp-fade{0%{opacity:0}to{opacity:1}}.lp-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:2.25rem 2rem;max-width:440px;width:90%;text-align:center;box-shadow:0 20px 60px #0003;animation:lp-slideup .2s var(--lp-ease)}@keyframes lp-slideup{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}.lp-modal-icon{color:var(--lp-primary-hover);display:flex;justify-content:center;margin-bottom:1rem}.lp-modal h3{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.lp-modal p{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.6}.lp-modal-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.lp-modal-primary{padding:.6rem 1.5rem;background:linear-gradient(135deg,var(--lp-primary-hover),var(--lp-primary));border:none;border-radius:8px;color:var(--lp-primary-text);font-weight:700;font-size:.9375rem;cursor:pointer;transition:box-shadow .15s,transform .15s}.lp-modal-primary:hover{box-shadow:0 4px 14px #72d3f766;transform:translateY(-1px)}.lp-modal-ghost{padding:.6rem 1.25rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-weight:500;font-size:.9375rem;cursor:pointer;transition:background .15s,border-color .15s}.lp-modal-ghost:hover{background:var(--bg-tertiary);border-color:var(--lp-primary)}.lp-assessment-section{margin-bottom:2.5rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--lp-primary-medium);border-radius:14px}.lp-assessment-passed-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:700;color:var(--lp-green-text);background:var(--lp-green-bg);border:1px solid var(--lp-green-border);padding:.175rem .5rem;border-radius:9999px}.lp-assessment-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.8125rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:box-shadow .15s,transform .15s}.lp-assessment-btn--start{background:linear-gradient(135deg,var(--lp-primary-hover),var(--lp-primary));border:none;color:var(--lp-primary-text);box-shadow:0 2px 8px #72d3f74d}.lp-assessment-btn--start:hover{box-shadow:0 4px 16px #72d3f773;transform:translateY(-1px)}.lp-assessment-btn--review{background:transparent;border:1px solid var(--lp-primary);color:var(--lp-primary-text)}.lp-assessment-btn--review:hover{background:var(--lp-primary-light);transform:translateY(-1px)}.lp-complete-card{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;background:linear-gradient(135deg,rgba(114,211,247,.07) 0%,var(--bg-secondary) 60%);border:1px solid var(--lp-primary-medium);border-radius:14px;margin-bottom:2.5rem;flex-wrap:wrap}.lp-complete-icon{flex-shrink:0;color:var(--text-muted)}.lp-complete-icon--primary{color:var(--lp-primary-hover)}.lp-complete-body{flex:1;min-width:0}.lp-complete-body h3{font-family:Outfit,sans-serif;font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}.lp-complete-body p{font-size:.875rem;color:var(--text-muted);margin:0}.lp-complete-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,var(--lp-primary-hover),var(--lp-primary));border:none;border-radius:8px;color:var(--lp-primary-text);font-weight:700;font-size:.875rem;cursor:pointer;transition:box-shadow .15s,transform .15s;white-space:nowrap}.lp-complete-btn:hover{box-shadow:0 3px 12px #72d3f766;transform:translateY(-1px)}.lp-complete-btn--outline{background:transparent;border:1px solid var(--lp-primary);color:var(--lp-primary-text)}.lp-complete-btn--outline:hover{background:var(--lp-primary-light)}.lp-lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:2rem;border-top:1px solid var(--border-color);margin-top:1rem}.lp-nav-btn{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;text-align:left;color:inherit}.lp-nav-btn:hover{border-color:var(--lp-primary);background:var(--lp-primary-light);box-shadow:0 2px 8px #72d3f726;transform:translateY(-1px)}.lp-nav-btn svg{flex-shrink:0;color:var(--lp-primary-hover)}.lp-nav-btn--next{justify-content:flex-end;text-align:right;flex-direction:row-reverse}.lp-nav-btn--next .lp-nav-btn-text{text-align:right}.lp-nav-btn-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.lp-nav-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.lp-nav-title{font-size:.875rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.lp-lab-frame{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}@media(max-width:900px){.lp-sidebar{position:absolute;top:0;left:0;bottom:0;z-index:25;transform:translate(-100%);box-shadow:4px 0 20px #0000001a}.lp-sidebar--open{transform:translate(0)}.lp-sidebar-overlay{display:block}.lp-reading{padding:1.75rem 1.25rem 4rem}}@media(max-width:600px){.lp-back-label,.lp-topbar-lesson-name{display:none}.lp-complete-card{flex-direction:column;text-align:center}.lp-labs-grid,.lp-lesson-nav{grid-template-columns:1fr}.lp-nav-btn--next{flex-direction:row;text-align:left;justify-content:flex-start}.lp-nav-btn--next .lp-nav-btn-text{text-align:left}.lp-reading{padding:1.25rem 1rem 4rem}}.lab-page{margin:-16px -32px -48px;display:flex;flex-direction:column;height:calc(100vh - 16px);background:var(--bg, #fafafe);overflow:hidden}.lab-topbar{height:52px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface, #fff);border-bottom:1px solid var(--border, #e2e8f0);gap:12px;z-index:10}.lab-topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.lab-topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.lab-back-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:transparent;color:var(--text-secondary, #475569);cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.lab-back-btn:hover{background:var(--surface-alt, #f1f5f9);border-color:var(--border-hover, #cbd5e1);color:var(--text, #0f172a)}.lab-topbar-divider{width:1px;height:20px;background:var(--border, #e2e8f0);flex-shrink:0}.lab-title{font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;font-weight:700;color:var(--text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.lab-difficulty{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}.lab-difficulty--easy{background:#d1fae5;color:#065f46}.lab-difficulty--medium{background:#fef3c7;color:#92400e}.lab-difficulty--hard{background:#fee2e2;color:#991b1b}.lab-difficulty--unknown{background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569)}.lab-lang-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);font-size:.75rem;font-weight:600;border:1px solid var(--primary-medium, #bbeaf8);flex-shrink:0}.lab-lang-select{padding:4px 8px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);color:var(--text, #0f172a);font-size:.8125rem;font-weight:500;cursor:pointer;outline:none}.lab-lang-select:focus{border-color:var(--primary, #72d3f7);box-shadow:0 0 0 3px #72d3f726}.lab-split{display:flex;flex:1;min-height:0;overflow:hidden}.lab-panel-left{min-width:220px;max-width:70%;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border, #e2e8f0);background:var(--surface, #fff);display:flex;flex-direction:column;gap:0}.lab-panel-left::-webkit-scrollbar{width:5px}.lab-panel-left::-webkit-scrollbar-track{background:transparent}.lab-panel-left::-webkit-scrollbar-thumb{background:var(--border-hover, #cbd5e1);border-radius:3px}.lab-panel-left::-webkit-scrollbar-thumb:hover{background:var(--primary-medium, #bbeaf8)}.lab-section{padding:20px 24px;border-bottom:1px solid var(--border, #e2e8f0)}.lab-section:last-child{border-bottom:none}.lab-section-title{font-family:var(--font-sans, "Inter", sans-serif);font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #94a3b8);margin-bottom:12px;display:flex;align-items:center;gap:6px}.lab-section-title:before{content:"";display:inline-block;width:3px;height:13px;border-radius:2px;background:var(--primary, #72d3f7)}.lab-prose{font-family:var(--font-sans, "Inter", sans-serif);font-size:.9375rem;line-height:1.75;color:var(--text-secondary, #475569)}.lab-prose p{margin-bottom:.75rem}.lab-prose p:last-child{margin-bottom:0}.lab-prose h1,.lab-prose h2,.lab-prose h3{font-weight:700;color:var(--text, #0f172a);margin-top:1rem;margin-bottom:.5rem}.lab-prose ul,.lab-prose ol{padding-left:1.25rem;margin-bottom:.75rem}.lab-prose ul{list-style:disc}.lab-prose ol{list-style:decimal}.lab-prose li{margin-bottom:.25rem}.lab-prose code{font-family:var(--font-mono, "DM Mono", monospace);font-size:.875em;background:var(--surface-alt, #f1f5f9);color:var(--primary-text, #0c4a6e);padding:1px 5px;border-radius:4px;border:1px solid var(--border, #e2e8f0)}.lab-prose pre{background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:.75rem 0}.lab-prose pre code{background:none;border:none;padding:0;color:var(--text, #0f172a);font-size:.875rem}.lab-prose strong{font-weight:700;color:var(--text, #0f172a)}.lab-example{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden;margin-bottom:12px;background:var(--bg, #fafafe)}.lab-example:last-child{margin-bottom:0}.lab-example-label{padding:6px 14px;background:var(--surface-alt, #f1f5f9);border-bottom:1px solid var(--border, #e2e8f0);font-size:.75rem;font-weight:700;color:var(--text-secondary, #475569);letter-spacing:.03em}.lab-example-grid{display:grid;grid-template-columns:1fr 1fr}.lab-example-col{padding:12px 14px}.lab-example-col:first-child{border-right:1px solid var(--border, #e2e8f0)}.lab-example-col-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.lab-example-col-label.input{color:#2563eb}.lab-example-col-label.output{color:#059669}.lab-example-code{font-family:var(--font-mono, "DM Mono", monospace);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;background:var(--surface, #fff);border-radius:6px;padding:8px 10px;border:1px solid var(--border, #e2e8f0)}.lab-example-code.input{color:#1e40af;border-left:2px solid #93c5fd}.lab-example-code.output{color:#065f46;border-left:2px solid #6ee7b7}.lab-constraints{font-family:var(--font-mono, "DM Mono", monospace);font-size:.875rem;line-height:1.8;color:var(--text-secondary, #475569);white-space:pre-wrap}.lab-divider{width:5px;flex-shrink:0;background:var(--border, #e2e8f0);cursor:col-resize;position:relative;transition:background .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lab-divider:after{content:"";position:absolute;inset:0 -4px}.lab-divider:hover{background:var(--primary, #72d3f7)}.lab-divider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:24px;background:repeating-linear-gradient(to bottom,var(--text-muted, #94a3b8) 0px,var(--text-muted, #94a3b8) 2px,transparent 2px,transparent 5px);border-radius:2px;opacity:.5}.lab-divider:hover:before{opacity:1;background:repeating-linear-gradient(to bottom,var(--primary-text, #0c4a6e) 0px,var(--primary-text, #0c4a6e) 2px,transparent 2px,transparent 5px)}.lab-panel-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-alt, #f1f5f9)}.lab-editor-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.lab-results-wrap{flex-shrink:0;max-height:40vh;min-height:120px;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--border, #e2e8f0)}.lab-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.lab-loading-inner{text-align:center}.lab-loading-spinner{width:40px;height:40px;border:3px solid var(--border, #e2e8f0);border-top-color:var(--primary, #72d3f7);border-radius:50%;animation:lab-spin .7s linear infinite;margin:0 auto 12px}@keyframes lab-spin{to{transform:rotate(360deg)}}.lab-loading-text{font-size:.9375rem;color:var(--text-muted, #94a3b8)}.lab-error-card{max-width:480px;margin:60px auto;background:var(--surface, #fff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:40px 32px;text-align:center;box-shadow:var(--shadow-md)}.lab-error-icon{width:52px;height:52px;background:var(--danger-light, #fee2e2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--danger, #ef4444)}.lab-error-msg{font-size:1rem;font-weight:600;color:var(--text, #0f172a);margin-bottom:20px}@media(max-width:1023px){.lab-page{margin:-12px -16px -40px;height:calc(100vh - 68px)}}@media(max-width:767px){.lab-split{flex-direction:column}.lab-panel-left{width:100%;max-width:100%;max-height:45vh;border-right:none;border-bottom:1px solid var(--border, #e2e8f0)}.lab-title{max-width:180px}}.stage-progress-container{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color)}.problem-page-editor-header{background:var(--bg-secondary)!important;border-color:var(--border-color)!important;box-shadow:0 2px 8px var(--shadow-color)!important}.stage-button{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.stage-button:hover{transform:translateY(-2px)}.stage-button.active{box-shadow:0 4px 12px #667eea66}.stage-button.active:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--primary-500);border-radius:50%;box-shadow:0 0 8px #667eea99}.problem-card{background:var(--bg-secondary);border:1px solid var(--border-color);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.problem-card:hover{border-color:#667eea66;box-shadow:0 8px 24px var(--shadow-color);transform:translateY(-2px)}.feedback-panel{position:relative;overflow:hidden;animation:slideIn .4s ease-out}.feedback-panel:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:currentColor;opacity:.6}.feedback-panel.success{background:linear-gradient(135deg,#10b9811a,#05966926);border-color:#10b9814d}.feedback-panel.partial{background:linear-gradient(135deg,#fbbf241a,#f59e0b26);border-color:#fbbf244d}.feedback-panel.error{background:linear-gradient(135deg,#ef44441a,#dc262626);border-color:#ef44444d}.submission-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.submission-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor;opacity:0;transition:opacity .3s ease}.submission-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0003}.submission-card:hover:before{opacity:1}.submission-card.passed:before{background:#10b98199}.submission-card.failed:before{background:#ef444499}.submission-card.pending:before{background:#fbbf2499}.concept-tag{transition:all .2s ease;position:relative}.concept-tag:hover{transform:scale(1.05);box-shadow:0 4px 8px #667eea33}.example-card{background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all .3s ease}.example-card:hover{border-color:#667eea66;transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.example-card pre,.example-card code{color:var(--text-primary)!important}.hint-button{background:linear-gradient(135deg,#fbbf2433,#f59e0b40);border:1px solid rgba(251,191,36,.3);transition:all .3s ease}.hint-button:hover{background:linear-gradient(135deg,#fbbf244d,#f59e0b59);transform:translateY(-2px);box-shadow:0 6px 20px #fbbf244d}.loading-container{animation:fadeIn .3s ease-in}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--primary-500);border-radius:4px;-webkit-transition:filter .3s ease;transition:filter .3s ease}.custom-scrollbar::-webkit-scrollbar-thumb:hover{filter:brightness(1.2)}.status-badge{position:relative;overflow:hidden;transition:all .3s ease}.status-badge:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.status-badge:hover:after{left:100%}.difficulty-badge{position:relative;font-weight:600;letter-spacing:.5px;text-transform:uppercase;transition:all .3s ease}.difficulty-badge:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.back-button{transition:all .3s ease;border-radius:8px;padding:.5rem}.back-button:hover{background:#667eea1a;transform:translate(-4px)}.real-world-card{background:linear-gradient(135deg,#667eea1a,#764ba226);border:1px solid rgba(102,126,234,.3);position:relative;overflow:hidden}.real-world-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.6),transparent)}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media(max-width:768px){.stage-button{padding:.5rem .75rem;font-size:.75rem}.problem-card{padding:1rem}.submission-card:hover{transform:none}}.path-card{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;background:var(--bg-secondary);border-color:var(--border-color)}.path-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ea580c,#d97706);opacity:0;transition:opacity .3s ease}.path-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.path-card:hover:before{opacity:1}.progress-bar-container{position:relative;overflow:hidden}.progress-bar-fill{transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.filter-select{transition:all .3s ease;position:relative}.filter-select:hover{border-color:#ea580c;box-shadow:0 4px 12px #ea580c1a}.filter-select:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px #ea580c14}.empty-state{padding:4rem 2rem;text-align:center;animation:fadeIn .5s ease-in}.empty-state-icon{font-size:4rem;opacity:.3;margin-bottom:1rem}.path-type-badge{transition:all .2s ease}.path-type-badge:hover{transform:scale(1.05)}.featured-badge{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.stats-icon{transition:all .3s ease}.path-card:hover .stats-icon{transform:scale(1.1);color:#ea580c}.path-button{transition:all .3s ease;position:relative;overflow:hidden}.path-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.path-button:hover:before{width:300px;height:300px}.path-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ea580c33}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-header{animation:fadeInDown .5s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.path-grid{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:768px){.path-card:hover,.path-button:hover{transform:none}}.progress-dashboard{--pd-transition: cubic-bezier(.4, 0, .2, 1)}.rbp-root{--rbp-transition: cubic-bezier(.4, 0, .2, 1)}.progress-dashboard{min-height:100vh;padding-top:2rem;background:var(--bg, #fafafe);position:relative}.progress-dashboard:before{content:"";position:fixed;top:0;left:0;right:0;height:50vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--primary-glow, rgba(114, 211, 247, .18)),transparent 60%);pointer-events:none;z-index:0}.progress-dashboard-container{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:1.5rem 1rem 3rem}.progress-dashboard-hero{margin-bottom:2.5rem;animation:pdFadeInDown .6s var(--pd-transition) forwards}.progress-dashboard-hero-title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.2;color:var(--text, #0f172a)}.progress-dashboard-hero-subtitle{margin:0;font-size:1rem;color:var(--text-secondary, #475569);font-weight:400}.progress-dashboard-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:1rem;padding:1.5rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, .08));transition:transform .3s var(--pd-transition),box-shadow .3s var(--pd-transition),border-color .3s var(--pd-transition);animation:pdFadeIn .6s var(--pd-transition) backwards}.progress-dashboard-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(15, 23, 42, .08));border-color:var(--primary, #72d3f7)}.progress-dashboard-metrics{display:grid;grid-template-columns:repeat(1,1fr);gap:1.25rem;margin-bottom:2rem}@media(min-width:640px){.progress-dashboard-metrics{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.progress-dashboard-metrics{grid-template-columns:repeat(4,1fr)}}.progress-dashboard-metric-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:120px}.progress-dashboard-metric-icon{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .3s var(--pd-transition),opacity .3s var(--pd-transition)}.progress-dashboard-metric-card:hover .progress-dashboard-metric-icon{transform:scale(1.08);opacity:.95}.progress-dashboard-metric-icon--cyan{background:linear-gradient(135deg,#72d3f7,#29bef3)}.progress-dashboard-metric-icon--blue{background:linear-gradient(135deg,#38bdf8,#0284c7)}.progress-dashboard-metric-icon--indigo{background:linear-gradient(135deg,#818cf8,#6366f1)}.progress-dashboard-metric-icon--violet{background:linear-gradient(135deg,#a78bfa,#7c3aed)}.progress-dashboard-metric-content{margin-top:auto;padding-right:3rem}.progress-dashboard-metric-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text, #0f172a);line-height:1.2;margin-bottom:.25rem}.progress-dashboard-metric-label{font-size:.875rem;color:var(--text-secondary, #475569);font-weight:500}.progress-dashboard-metric-bar-wrap{margin-top:1rem;height:6px;background:var(--surface-alt, #f1f5f9);border-radius:3px;overflow:hidden}.progress-dashboard-metric-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary, #72d3f7),#29bef3);border-radius:3px;transition:width .4s var(--pd-transition);position:relative}.progress-dashboard-metric-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:pdShimmer 2s infinite}@keyframes pdShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-dashboard-charts{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media(min-width:1024px){.progress-dashboard-charts{grid-template-columns:1.2fr 1fr}}.progress-dashboard-chart-card{padding:1.5rem}.progress-dashboard-chart-title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text, #0f172a)}.progress-dashboard-chart-subtitle{margin:0 0 1rem;font-size:.8125rem;color:var(--text-muted, #94a3b8)}.progress-dashboard-chart-wrap{min-height:280px}.progress-dashboard-chart-wrap--line,.progress-dashboard-chart-wrap--bar{height:300px}.progress-dashboard-session-card{padding:1.5rem}.progress-dashboard-session-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(min-width:640px){.progress-dashboard-session-grid{grid-template-columns:repeat(4,1fr)}}.progress-dashboard-session-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:.75rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);transition:transform .2s var(--pd-transition),border-color .2s var(--pd-transition)}.progress-dashboard-session-item:hover{transform:translateY(-2px);border-color:var(--primary, #72d3f7)}.progress-dashboard-session-item--emerald{color:#10b981}.progress-dashboard-session-item--blue{color:#0284c7}.progress-dashboard-session-item--indigo{color:#6366f1}.progress-dashboard-session-item--amber{color:#f59e0b}.progress-dashboard-session-value{font-size:1.5rem;font-weight:700;color:var(--text, #0f172a)}.progress-dashboard-session-label{font-size:.75rem;color:var(--text-secondary, #475569)}.progress-dashboard-session-bar-wrap{height:6px;background:var(--border, #e2e8f0);border-radius:3px;overflow:hidden;margin-top:.25rem}.progress-dashboard-session-bar-fill{height:100%;border-radius:3px;transition:width .4s var(--pd-transition)}.progress-dashboard-session-bar-fill--emerald{background:linear-gradient(90deg,#10b981,#059669)}.progress-dashboard-session-bar-fill--blue{background:linear-gradient(90deg,#38bdf8,#0284c7)}.progress-dashboard-concept-section{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.progress-dashboard-journey-card{padding:1.5rem}.progress-dashboard-journey-text{margin:0;font-size:1rem;line-height:1.6;color:var(--text-secondary, #475569)}.progress-dashboard-journey-text strong{color:var(--text, #0f172a);font-weight:600}.progress-dashboard-tooltip{background-color:var(--surface, #ffffff)!important;border:1px solid var(--border, #e2e8f0)!important;border-radius:8px;box-shadow:var(--shadow-md)!important}.progress-dashboard-tooltip-label{color:var(--text-secondary, #475569);font-size:.75rem;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--border, #e2e8f0)}.progress-dashboard-card--error{text-align:center;padding:2rem}.progress-dashboard-card--error p{margin:0 0 1rem;color:var(--text-secondary, #475569)}.progress-dashboard-btn{padding:.625rem 1.25rem;background:var(--primary, #72d3f7);border:none;border-radius:.5rem;color:#0c4a6e;font-weight:600;cursor:pointer;transition:opacity .2s var(--pd-transition),transform .2s var(--pd-transition)}.progress-dashboard-btn:hover{opacity:.9;transform:translateY(-1px)}.progress-dashboard-btn:focus-visible{outline:2px solid var(--primary, #72d3f7);outline-offset:2px}.progress-dashboard--loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.progress-dashboard-skeleton{width:100%;max-width:1280px;padding:1.5rem 1rem;animation:pdFadeIn .5s var(--pd-transition)}.progress-dashboard-skeleton-header{height:80px;background:linear-gradient(90deg,var(--surface-alt, #f1f5f9) 25%,var(--border, #e2e8f0) 50%,var(--surface-alt, #f1f5f9) 75%);background-size:200% 100%;animation:pdShimmer 1.5s infinite;border-radius:.75rem;margin-bottom:1.5rem}.progress-dashboard-skeleton-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:1023px){.progress-dashboard-skeleton-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:639px){.progress-dashboard-skeleton-cards{grid-template-columns:1fr}}.progress-dashboard-skeleton-card{height:120px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:1rem;animation:pdFadeIn .6s var(--pd-transition) backwards}.progress-dashboard-skeleton-chart{height:320px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:1rem;margin-bottom:1rem}.progress-dashboard-loading-text{text-align:center;color:var(--text-muted, #94a3b8);font-size:.9375rem;margin:0}.progress-dashboard .recharts-legend-item-text{color:var(--text-secondary, #475569)!important}@keyframes pdFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pdFadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rbp-hero{margin-bottom:1.5rem}.rbp-role-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.rbp-role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8)}.rbp-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border, #e2e8f0)}.rbp-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-secondary, #475569);background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:color .2s var(--rbp-transition),background .2s var(--rbp-transition)}.rbp-tab:hover{color:var(--text, #0f172a);background:var(--surface-alt, #f1f5f9)}.rbp-tab:focus-visible{outline:2px solid var(--primary, #72d3f7);outline-offset:2px}.rbp-tab--active{color:var(--primary-text, #0c4a6e);background:var(--primary-light, #e0f5fd)}.rbp-tab-panel{animation:rbpFadeIn .3s var(--rbp-transition)}@keyframes rbpFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rbp-tooltip{border-radius:8px;padding:12px 16px;background-color:var(--surface, #ffffff)!important;border:1px solid var(--border, #e2e8f0)!important;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(15,23,42,.08))!important}.rbp-classroom-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.rbp-stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:90px;text-align:center}.rbp-stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--text, #0f172a);line-height:1.2}.rbp-stat-label{font-size:.8125rem;color:var(--text-secondary, #475569);margin-top:.25rem}.rbp-course-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.rbp-course-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem}.rbp-course-title{font-weight:600;color:var(--text, #0f172a)}.rbp-course-meta{font-size:.875rem;color:var(--text-secondary, #475569)}.rbp-tab-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.rbp-time-range{display:inline-flex;align-items:center;gap:.5rem}.rbp-time-range-label{font-size:.875rem;color:var(--text-secondary, #475569);font-weight:500}.rbp-time-range-select{padding:.375rem .75rem;font-size:.875rem;color:var(--text, #0f172a);background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;cursor:pointer;min-width:140px}.rbp-time-range-select:hover,.rbp-time-range-select:focus{border-color:var(--primary, #72d3f7);outline:none}.rbp-deeper-card{margin-bottom:1.5rem}.progress-dashboard-chart-wrap--radar{height:300px}.rbp-lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.rbp-lesson-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface-alt, #f1f5f9);border-radius:.5rem;border:1px solid var(--border, #e2e8f0)}.rbp-lesson-name{font-size:.875rem;color:var(--text, #0f172a);font-weight:500}.rbp-lesson-score{font-size:.875rem;font-weight:600;color:var(--primary-text, #0c4a6e)}.rbp-queue-card .rbp-queue-wrap{overflow-x:auto;margin-top:.5rem}.rbp-queue-table{width:100%;border-collapse:collapse;font-size:.875rem}.rbp-queue-table th,.rbp-queue-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border, #e2e8f0)}.rbp-queue-table th{color:var(--text-secondary, #475569);font-weight:600}.rbp-queue-table td{color:var(--text, #0f172a)}.rbp-queue-link{color:var(--primary-text, #0c4a6e);font-weight:600;text-decoration:none}.rbp-queue-link:hover{text-decoration:underline;color:var(--primary-active, #29bef3)}.rbp-outcome-card .rbp-outcome-grid{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:.75rem}.rbp-outcome-block{min-width:160px}.rbp-outcome-label{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--text-secondary, #475569)}.rbp-outcome-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.rbp-outcome-stats--questions{flex-direction:column;gap:.35rem}.rbp-outcome-stat{font-size:.8125rem}.rbp-outcome-stat.approved{color:#059669}.rbp-outcome-stat.revision{color:#d97706}.rbp-outcome-stat.rejected{color:#dc2626}.rbp-outcome-stat.total{color:var(--text-secondary, #475569)}.rbp-issue-type-list{list-style:none;margin:0;padding:0;margin-top:.5rem}.rbp-issue-type-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border, #e2e8f0);font-size:.875rem}.rbp-issue-type-label{color:var(--text, #0f172a);text-transform:capitalize}.rbp-issue-type-count{font-weight:600;color:var(--primary-text, #0c4a6e)}.rbp-recent-table .rbp-outcome-badge{display:inline-block;padding:.2rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:600;text-transform:capitalize}.rbp-recent-table .rbp-outcome-badge.approved,.rbp-recent-table .rbp-outcome-badge.approved_with_changes{background:#d1fae5;color:#065f46}.rbp-recent-table .rbp-outcome-badge.needs_revision{background:#fef3c7;color:#92400e}.rbp-recent-table .rbp-outcome-badge.rejected{background:#fee2e2;color:#991b1b}@media(max-width:639px){.rbp-tabs{gap:.125rem}.rbp-tab{padding:.5rem .75rem;font-size:.8125rem}}@media(prefers-reduced-motion:reduce){.rbp-tab-panel,.progress-dashboard-card{animation:none}.rbp-tab{transition:none}}.lab-list-root{background:var(--bg, #fafafe);min-height:100vh}.lab-list-page{padding-top:0;padding-bottom:3rem;padding-left:1rem;padding-right:1rem;max-width:72rem;margin-left:auto;margin-right:auto}@media(min-width:640px){.lab-list-page{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.lab-list-page{padding-left:2rem;padding-right:2rem}}.lab-list-hero{margin-bottom:2rem;padding:1.75rem 1.5rem;background:linear-gradient(135deg,#6366f10f,#8b5cf60a,#3b82f608);border:1px solid rgba(99,102,241,.15);border-radius:1rem;position:relative;overflow:hidden}.lab-list-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent);opacity:.7}.lab-list-hero-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem;position:relative;z-index:1}.lab-list-hero-content{flex:1;min-width:0}.lab-list-title{font-size:1.75rem;font-weight:700;color:var(--text, #0f172a);margin:0 0 .35rem;letter-spacing:-.02em}.lab-list-subtitle{font-size:.9375rem;color:var(--text-muted, #94a3b8);margin:0;max-width:36rem}.lab-list-btn-create{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.5rem;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;white-space:nowrap}.lab-list-btn-create:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f14d}.lab-list-btn-create:active{transform:translateY(0)}.lab-list-btn-create-icon{font-size:1.25rem;line-height:1;opacity:.95}.lab-list-btn-create-secondary{margin-top:1rem;background:#6366f11a;color:#4338ca;border:1px solid rgba(99,102,241,.2)}.lab-list-btn-create-secondary:hover{background:#6366f129;box-shadow:0 4px 12px #6366f126}.lab-list-content{display:flex;flex-direction:column;gap:1.25rem}.lab-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.lab-list-search-wrap{position:relative;flex:1;min-width:12rem;max-width:20rem}.lab-list-search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted, #94a3b8);pointer-events:none;display:flex;align-items:center;justify-content:center}.lab-list-search-input{width:100%;padding:.5rem .875rem .5rem 2.5rem;font-size:.875rem;color:var(--text, #0f172a);background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.lab-list-search-input::-moz-placeholder{color:var(--text-muted, #94a3b8)}.lab-list-search-input::placeholder{color:var(--text-muted, #94a3b8)}.lab-list-search-input:focus{border-color:#6366f180;box-shadow:0 0 0 3px #6366f11a}.lab-list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lab-list-select{padding:.5rem .75rem;font-size:.8125rem;color:var(--text, #0f172a);background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;cursor:pointer;outline:none;transition:border-color .2s ease}.lab-list-select:hover,.lab-list-select:focus{border-color:#6366f166}.lab-list-sort-select{min-width:10rem}.lab-list-btn-clear{padding:.5rem .75rem;font-size:.8125rem;color:var(--text-secondary, #475569);background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:.5rem;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.lab-list-btn-clear:hover{color:var(--text, #0f172a);border-color:var(--border-hover, #cbd5e1);background:var(--surface-alt, #f1f5f9)}.lab-list-error{padding:1rem 1.25rem;font-size:.875rem;color:#991b1b;background:var(--danger-light, #fee2e2);border:1px solid rgba(220,38,38,.25);border-radius:.5rem}.lab-list-skeleton{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.lab-list-skeleton-row{display:grid;grid-template-columns:1fr 6rem 6rem 1fr 4rem 8rem;gap:1rem;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border, #e2e8f0)}.lab-list-skeleton-row:last-child{border-bottom:none}.lab-list-skeleton-cell{height:1rem;border-radius:.25rem;background:linear-gradient(90deg,var(--surface-alt, #f1f5f9) 25%,var(--border, #e2e8f0) 50%,var(--surface-alt, #f1f5f9) 75%);background-size:200% 100%;animation:lab-list-skeleton-shine 1.2s ease-in-out infinite}.lab-list-skeleton-title{max-width:16rem}.lab-list-skeleton-badge{max-width:5rem}.lab-list-skeleton-meta{max-width:10rem}.lab-list-skeleton-actions{max-width:6rem;justify-self:end}@keyframes lab-list-skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.lab-list-empty{text-align:center;padding:3rem 2rem;background:var(--surface, #ffffff);border:1px dashed var(--border, #e2e8f0);border-radius:1rem}.lab-list-empty-icon{color:#6366f166;margin-bottom:1.25rem}.lab-list-empty-title{font-size:1.25rem;font-weight:600;color:var(--text, #0f172a);margin:0 0 .5rem}.lab-list-empty-text{font-size:.9375rem;color:var(--text-muted, #94a3b8);margin:0}.lab-list-table-wrap{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.lab-list-table{width:100%;border-collapse:collapse;font-size:.875rem}.lab-list-table thead{background:var(--surface-alt, #f1f5f9)}.lab-list-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8);border-bottom:1px solid var(--border, #e2e8f0)}.lab-list-th-actions{text-align:right}.lab-list-row{transition:background .15s ease}.lab-list-row:hover{background:var(--surface-alt, #f1f5f9)}.lab-list-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border, #e2e8f0);vertical-align:middle;color:var(--text-secondary, #475569)}.lab-list-row:last-child td{border-bottom:none}.lab-list-cell-title{min-width:0}.lab-list-link-title{display:block;font-weight:600;color:var(--text, #0f172a);background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:color .15s ease}.lab-list-link-title:hover{color:#6366f1}.lab-list-meta-by{display:block;font-size:.75rem;color:var(--text-muted, #94a3b8);margin-top:.15rem}.lab-list-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:.375rem}.lab-list-badge-difficulty.lab-difficulty-easy{background:var(--success-light, #d1fae5);color:#065f46}.lab-list-badge-difficulty.lab-difficulty-medium{background:var(--warning-light, #fef3c7);color:#92400e}.lab-list-badge-difficulty.lab-difficulty-hard{background:var(--danger-light, #fee2e2);color:#991b1b}.lab-list-badge-difficulty:not(.lab-difficulty-easy):not(.lab-difficulty-medium):not(.lab-difficulty-hard){background:var(--surface-alt, #f1f5f9);color:var(--text-muted, #94a3b8);border:1px solid var(--border, #e2e8f0)}.lab-list-badge-lang{background:#6366f114;color:#4338ca;border:1px solid rgba(99,102,241,.15)}.lab-list-cell-type{max-width:12rem}.lab-list-type{font-size:.8125rem;color:var(--text-muted, #94a3b8)}.lab-list-type-course{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-list-type-standalone,.lab-list-cell-tests{color:var(--text-muted, #94a3b8)}.lab-list-cell-actions{text-align:right;white-space:nowrap}.lab-list-action{padding:.35rem .65rem;font-size:.8125rem;font-weight:500;border:none;border-radius:.375rem;cursor:pointer;transition:background .15s ease,color .15s ease}.lab-list-action-view{margin-right:.5rem;color:var(--text-secondary, #475569);background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0)}.lab-list-action-view:hover{color:var(--text, #0f172a);background:var(--border, #e2e8f0)}.lab-list-action-edit{color:#4338ca;background:#6366f114;border:1px solid rgba(99,102,241,.15)}.lab-list-action-edit:hover{color:#3730a3;background:#6366f126}@media(max-width:900px){.lab-list-toolbar{flex-direction:column;align-items:stretch}.lab-list-search-wrap{max-width:none}.lab-list-filters{justify-content:flex-start}.lab-list-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.lab-list-table{min-width:640px}.lab-list-skeleton-row{grid-template-columns:1fr 5rem 5rem 1fr 3rem 7rem;padding:.875rem 1rem}}.user-profile{--up-transition: cubic-bezier(.22, 1, .36, 1);min-height:100vh;background:var(--bg-primary)}.user-profile-container{max-width:1280px;margin:0 auto;padding:6rem 1rem 3rem}.user-profile-header{margin-bottom:2rem;animation:upFadeInDown .5s var(--up-transition) forwards}.user-profile-title{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700}.user-profile-subtitle{margin:0 0 1rem;font-size:1rem;color:var(--text-secondary)}.user-profile-actions{display:flex;gap:.75rem;flex-wrap:wrap}.user-profile-card{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:transform .3s var(--up-transition),box-shadow .3s var(--up-transition),border-color .3s var(--up-transition);animation:upFadeIn .5s var(--up-transition) backwards}.user-profile-card:hover{transform:translateY(-2px);box-shadow:0 12px 40px var(--shadow-color),0 0 24px var(--primary-glow);border-color:var(--primary-500)}.user-profile-avatar{width:5rem;height:5rem;border-radius:50%;background:linear-gradient(135deg,var(--primary-500),var(--brand-ember));display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;font-weight:700;flex-shrink:0}.user-profile-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.user-profile-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;border:1px solid transparent;transition:transform .2s var(--up-transition)}.user-profile-badge--primary{background:#ea580c33;color:var(--primary-500);border-color:#ea580c80}.user-profile-badge--secondary{background:#0f766e33;color:var(--secondary-500);border-color:#0f766e80}.user-profile-badge--accent{background:#fbbf2433;color:var(--brand-spark);border-color:#fbbf2480}.user-profile-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;animation:upFadeIn .5s var(--up-transition) .1s backwards}.user-profile-tab{padding:.75rem 1.25rem;font-weight:500;font-size:.9375rem;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s var(--up-transition),border-color .2s var(--up-transition);margin-bottom:-1px}.user-profile-tab:hover{color:var(--text-secondary)}.user-profile-tab--active{color:var(--primary-500);border-bottom-color:var(--primary-500)}.user-profile-stats{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;margin-bottom:1.5rem}@media(min-width:640px){.user-profile-stats{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.user-profile-stats{grid-template-columns:repeat(4,1fr)}}.user-profile-stat-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100px;padding:1.25rem;animation:upFadeIn .5s var(--up-transition) backwards}.user-profile-stat-card:hover{transform:translateY(-2px)}.user-profile-stat-icon{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s var(--up-transition)}.user-profile-stat-card:hover .user-profile-stat-icon{transform:scale(1.08)}.user-profile-stat-icon--primary{background:linear-gradient(135deg,var(--primary-500),var(--brand-ember))}.user-profile-stat-icon--secondary{background:linear-gradient(135deg,var(--secondary-500),#0d9488)}.user-profile-stat-icon--accent{background:linear-gradient(135deg,var(--brand-spark),#f59e0b)}.user-profile-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2;margin-bottom:.25rem}.user-profile-stat-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.user-profile-section-title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.user-profile-section-subtitle{margin:0 0 1rem;font-size:.8125rem;color:var(--text-secondary)}.user-profile-progress-wrap{height:.5rem;background:var(--bg-hover);border-radius:9999px;overflow:hidden;margin-top:.5rem}.user-profile-progress-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--primary-500),var(--secondary-500));transition:width .5s var(--up-transition);box-shadow:0 0 12px var(--primary-glow)}.user-profile-chart-wrap{min-height:280px;height:300px}.user-profile-chart-wrap--tall{height:360px}.user-profile-tooltip{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:.5rem;padding:.75rem 1rem;box-shadow:0 4px 12px var(--shadow-color)}.user-profile-tooltip-label{color:var(--text-secondary);font-size:.75rem;margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-color)}.user-profile-course-item{padding:1rem;border-radius:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:transform .2s var(--up-transition),border-color .2s var(--up-transition)}.user-profile-course-item:hover{transform:translate(4px);border-color:var(--primary-500)}.user-profile-activity-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border-radius:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:border-color .2s var(--up-transition)}.user-profile-activity-item:hover{border-color:var(--primary-500)}.user-profile-activity-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--primary-500);margin-top:.5rem;flex-shrink:0}.user-profile-table-wrap{overflow-x:auto;border-radius:.75rem;border:1px solid var(--border-color)}.user-profile-table{width:100%;border-collapse:collapse}.user-profile-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.user-profile-table td{padding:.75rem 1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);font-size:.875rem}.user-profile-table tbody tr:hover{background:var(--bg-hover)}.user-profile-table tbody tr:last-child td{border-bottom:none}.user-profile-empty,.user-profile-error{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.user-profile-empty-icon,.user-profile-error-icon{width:3rem;height:3rem;margin:0 auto 1rem;color:var(--text-muted)}.user-profile-retry{margin-top:1rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary-500),var(--brand-ember));border:none;border-radius:.5rem;color:#fff;font-weight:600;cursor:pointer;transition:opacity .2s var(--up-transition),transform .2s var(--up-transition)}.user-profile-retry:hover{opacity:.95;transform:translateY(-1px)}.user-profile-retry:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.user-profile-skeleton{animation:upFadeIn .4s var(--up-transition)}.user-profile-skeleton-header{height:100px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:upShimmer 1.5s infinite;border-radius:.75rem;margin-bottom:1.5rem}.user-profile-skeleton-card{height:100px;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border-color);border-radius:1rem}@keyframes upFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes upFadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes upShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.user-profile .recharts-legend-item-text{color:var(--text-secondary)!important}@media(prefers-reduced-motion:reduce){.user-profile-card,.user-profile-stat-card,.user-profile-tab,.user-profile-progress-fill,.user-profile-course-item,.user-profile-activity-item{transition:none}}.sad-root{min-height:100vh;background:var(--bg);color:var(--text)}.sad-main{padding:2rem 1rem 3rem}.sad-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.sad-header{margin-bottom:.5rem}.sad-header-back{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;margin-bottom:.75rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.sad-header-back:hover{border-color:#ea580ccc;transform:translateY(-1px)}.sad-header-main{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-sm)}.sad-header-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#ea580c,#14b8a6);display:flex;align-items:center;justify-content:center}.sad-header-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sad-header-avatar-initial{font-size:1.5rem;font-weight:600;color:#fff}.sad-header-info{flex:1;min-width:0}.sad-header-name{font-size:1.35rem;font-weight:600;margin:0 0 .25rem}.sad-header-meta{font-size:.8rem;color:var(--text-muted);margin:0 0 .5rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sad-header-meta-sep{color:var(--text-muted)}.sad-header-meta-item{display:inline-flex;align-items:center;gap:.25rem}.sad-header-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sad-status{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.sad-status--excellent{background:var(--success-light);border:1px solid rgba(16,185,129,.4);color:#059669}.sad-status--active{background:var(--primary-light);border:1px solid var(--primary-medium);color:var(--primary-text)}.sad-status--risk{background:var(--warning-light);border:1px solid rgba(245,158,11,.4);color:#b45309}.sad-header-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary)}.sad-header-actions{flex-shrink:0}.sad-header-btn{display:inline-flex;align-items:center;padding:.4rem .9rem;border-radius:999px;font-size:.875rem;text-decoration:none;transition:all .2s ease}.sad-header-btn--primary{background:linear-gradient(135deg,#ea580c,#14b8a6);color:#fff;border:none}.sad-header-btn--primary:hover{opacity:.95;transform:translateY(-1px)}.sad-section{margin-top:.5rem}.sad-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.sad-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.sad-card:hover{border-color:#ea580c4d;box-shadow:var(--shadow-md)}.sad-card-title{display:flex;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:var(--text)}.sad-academic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.sad-grade-card{display:flex;flex-direction:column;gap:.5rem}.sad-grade-main{display:flex;flex-direction:column;gap:.15rem}.sad-grade-value{font-size:2rem;font-weight:700;color:var(--text)}.sad-grade-label{font-size:.8rem;color:var(--text-muted)}.sad-grade-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-secondary)}.sad-grade-trend--up{color:#059669}.sad-grade-bar{height:6px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.sad-grade-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ea580c,#14b8a6)}.sad-chart-card{grid-column:span 1}.sad-chart-wrap{width:100%;height:200px}.sad-courses-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.sad-courses-empty{font-size:.85rem;color:var(--text-muted)}.sad-course-item{display:flex;flex-direction:column;gap:.25rem}.sad-course-info{display:flex;justify-content:space-between;align-items:center}.sad-course-name{font-size:.9rem;font-weight:500;color:var(--text)}.sad-course-grade{font-size:.85rem;color:#14b8a6;font-weight:600}.sad-course-progress{display:flex;align-items:center;gap:.5rem}.sad-course-progress-bar{flex:1;height:4px;border-radius:999px;background:var(--surface-alt);overflow:hidden}.sad-course-progress-fill{height:100%;border-radius:inherit;background:#14b8a6}.sad-course-percent{font-size:.75rem;color:var(--text-muted);min-width:2.5rem}.sad-engagement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.sad-metric-card{display:flex;align-items:center;gap:.75rem}.sad-metric-icon{width:40px;height:40px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sad-metric-icon--teal{background:#14b8a61f;color:#14b8a6}.sad-metric-icon--orange{background:#ea580c1f;color:#ea580c}.sad-metric-icon--blue{background:var(--primary-light);color:var(--primary-text)}.sad-metric-icon--green{background:var(--success-light);color:#059669}.sad-metric-content{display:flex;flex-direction:column;gap:.1rem}.sad-metric-value{font-size:1.1rem;font-weight:600;color:var(--text)}.sad-metric-label{font-size:.75rem;color:var(--text-muted)}.sad-metric-card--clickable{flex-direction:column;align-items:stretch;padding:0;overflow:hidden}.sad-metric-card--clickable .sad-metric-card-inner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;width:100%;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .2s}.sad-metric-card--clickable .sad-metric-card-inner:hover{background:var(--surface-alt)}.sad-metric-chevron{margin-left:auto;color:var(--text-muted);flex-shrink:0}.sad-metric-hint{margin-left:auto;font-size:.75rem;color:#14b8a6;flex-shrink:0}.sad-popup-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:sadPopupFadeIn .2s ease}@keyframes sadPopupFadeIn{0%{opacity:0}to{opacity:1}}.sad-popup{background:var(--surface);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-lg);max-width:440px;width:100%;max-height:85vh;display:flex;flex-direction:column;animation:sadPopupSlideIn .25s ease}@keyframes sadPopupSlideIn{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.sad-popup-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.sad-popup-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--text)}.sad-popup-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:.5rem;background:var(--surface-alt);color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.sad-popup-close:hover{background:var(--danger-light);color:var(--danger)}.sad-popup-body{padding:1.25rem 1.5rem;overflow-y:auto}.sad-popup-subtitle{margin:0 0 1rem;font-size:.85rem;color:var(--text-muted)}.sad-popup-list{margin-bottom:0}.sad-engagement-drilldown{padding:.75rem 1.25rem 1rem;border-top:1px solid var(--border);background:var(--surface-alt)}.sad-engagement-drilldown-title{margin:0 0 .5rem;font-size:.8rem;color:var(--text-muted)}.sad-engagement-drilldown-empty{margin:0;font-size:.85rem;color:var(--text-muted)}.sad-engagement-list{list-style:none;margin:0 0 .75rem;padding:0;font-size:.85rem}.sad-engagement-list:last-child{margin-bottom:0}.sad-engagement-list-head{font-weight:600;color:var(--text-muted);margin-bottom:.35rem}.sad-engagement-list li{display:flex;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.sad-engagement-list li:last-child{border-bottom:none}.sad-engagement-list-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.sad-engagement-list-date{flex-shrink:0;color:var(--text-muted)}.sad-behavior-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.sad-card-value{margin:0;font-size:.95rem}.sad-pace-badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.85rem;font-weight:500}.sad-pace-badge--fast{background:var(--success-light);color:#059669}.sad-pace-badge--moderate{background:var(--primary-light);color:var(--primary-text)}.sad-pace-badge--slow{background:var(--warning-light);color:#b45309}.sad-topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sad-topic-empty{font-size:.85rem;color:var(--text-muted)}.sad-topic-item{font-size:.85rem;padding:.25rem 0}.sad-topic-item--strong{color:#059669}.sad-topic-item--weak{color:#ea580c}.sad-comparative-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.sad-card-sub{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted)}.sad-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.sad-insights-list,.sad-alerts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sad-insights-empty,.sad-alerts-empty{font-size:.85rem;color:var(--text-muted)}.sad-insights-item{display:flex;flex-direction:column;gap:.15rem}.sad-insights-title{font-size:.9rem;font-weight:500;color:var(--text)}.sad-insights-desc{font-size:.8rem;color:var(--text-muted)}.sad-alerts-item{font-size:.85rem;padding:.35rem .5rem;border-radius:.5rem;border:1px solid var(--border)}.sad-alerts-item--high,.sad-alerts-item--critical{border-color:#ef444466;background:var(--danger-light);color:#b91c1c}.sad-alerts-item--medium{border-color:#f59e0b66;background:var(--warning-light);color:#92400e}.sad-section--risk{margin-top:1rem}.sad-risk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.sad-risk-gauge{display:flex;align-items:baseline;gap:.2rem}.sad-risk-value{font-size:2rem;font-weight:700}.sad-risk-gauge--low .sad-risk-value{color:#059669}.sad-risk-gauge--medium .sad-risk-value{color:#d97706}.sad-risk-gauge--high .sad-risk-value{color:var(--danger)}.sad-risk-unit{font-size:1rem;color:var(--text-muted)}.sad-risk-label{margin:.35rem 0 0;font-size:.85rem;color:var(--text-secondary)}.sad-risk-factors{list-style:none;margin:0;padding:0;font-size:.85rem;color:var(--text-secondary)}.sad-risk-factors li{padding:.2rem 0}.sad-export-grid{display:flex;flex-wrap:wrap;gap:1rem}.sad-export-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:140px;padding:1.25rem;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:1rem;transition:all .2s ease}.sad-export-card:hover{border-color:#ea580c80;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.sad-export-hint{font-size:.75rem;color:var(--text-muted)}.sad-btn{padding:.5rem 1rem;border-radius:999px;font-size:.9rem;cursor:pointer;border:none;transition:all .2s ease}.sad-btn-primary{background:linear-gradient(135deg,#ea580c,#14b8a6);color:#fff}.sad-error-card{max-width:420px;margin:4rem auto 0;padding:2rem;text-align:center;background:var(--surface);border:1px solid rgba(239,68,68,.4);border-radius:1rem}.sad-error-message{margin:0 0 1rem;color:var(--danger)}.sad-skeleton{max-width:1200px;margin:0 auto}.sad-skeleton-header{height:100px;border-radius:1rem;background:linear-gradient(90deg,var(--surface-alt),var(--border),var(--surface-alt));background-size:200% 100%;animation:sadShimmer 1.2s infinite}.sad-skeleton-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}.sad-skeleton-card{height:120px;border-radius:1rem;background:linear-gradient(90deg,var(--surface-alt),var(--border),var(--surface-alt));background-size:200% 100%;animation:sadShimmer 1.2s infinite}@media(max-width:768px){.sad-skeleton-cards{grid-template-columns:repeat(2,1fr)}}@keyframes sadShimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.sad-student-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sad-student-list-item{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s}.sad-student-list-item:hover{border-color:#ea580c99;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.sad-student-list-name{font-weight:600;color:var(--text)}.sad-student-list-email{font-size:.875rem;color:var(--text-muted)}.sad-student-list-action{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:#14b8a6}.sad-heat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.sad-heat-cell{padding:.6rem .75rem;border-radius:.5rem;border:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem}.sad-heat-cell-name{font-size:.8rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sad-heat-cell-score{font-size:.75rem;font-weight:600}.sad-heat--high{background:#14b8a61a;border-color:#14b8a666}.sad-heat--high .sad-heat-cell-score{color:#0d9488}.sad-heat--mid{background:#eab3081a;border-color:#eab3084d}.sad-heat--mid .sad-heat-cell-score{color:#ca8a04}.sad-heat--low{background:#ef44441a;border-color:#ef44444d}.sad-heat--low .sad-heat-cell-score{color:var(--danger)}.sad-calendar-heat{max-width:100%;overflow-x:auto}.sad-calendar-heat-grid{display:flex;flex-direction:column;gap:2px}.sad-calendar-heat-row{display:flex;gap:2px;justify-content:flex-end}.sad-calendar-cell{width:12px;height:12px;border-radius:2px;background:var(--surface-alt)}.sad-calendar-cell--1{background:#14b8a640}.sad-calendar-cell--2{background:#14b8a673}.sad-calendar-cell--3{background:#14b8a6a6}.sad-calendar-cell--4{background:#14b8a6}.sad-calendar-cell--interactive{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.sad-calendar-cell--interactive:hover{transform:scale(1.15);box-shadow:0 0 0 2px #14b8a666;z-index:1}.sad-calendar-tooltip{position:fixed;transform:translate(-50%,-100%);margin-top:-6px;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow-md);pointer-events:none;z-index:10;display:flex;flex-direction:column;gap:.15rem;min-width:140px;white-space:nowrap}.sad-calendar-tooltip-date{font-size:.8rem;font-weight:600;color:var(--text)}.sad-calendar-tooltip-count{font-size:.75rem;color:var(--text-muted)}.sad-calendar-legend{display:flex;align-items:center;gap:.35rem;margin-top:.75rem;font-size:.75rem;color:var(--text-muted)}.sad-calendar-legend .sad-calendar-cell{width:10px;height:10px}.sad-drilldown{display:flex;flex-direction:column;gap:.25rem}.sad-drilldown-empty{color:var(--text-muted);margin:0;padding:1rem}.sad-drilldown-course,.sad-drilldown-module{border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.sad-drilldown-trigger{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--surface-alt);border:none;color:var(--text);font-size:.95rem;text-align:left;cursor:pointer;transition:background .2s}.sad-drilldown-trigger:hover{background:var(--border)}.sad-drilldown-trigger--sub{padding-left:2rem;font-size:.9rem}.sad-drilldown-name{flex:1}.sad-drilldown-meta{font-size:.8rem;color:var(--text-muted)}.sad-drilldown-body{padding:.5rem 0 .5rem 1rem;border-top:1px solid var(--border)}.sad-drilldown-topics{list-style:none;margin:.25rem 0 0 2.5rem;padding:0;display:flex;flex-direction:column;gap:.25rem}.sad-drilldown-topic{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem}.sad-drilldown-icon-done{color:#14b8a6;flex-shrink:0}.sad-drilldown-icon-pending{color:var(--text-muted);flex-shrink:0}.sad-drilldown-topic-name{flex:1;color:var(--text)}.sad-drilldown-topic-score{font-weight:600;color:var(--text-muted)}.markdown-render{color:var(--text-primary, #f3f4f6);line-height:1.6;word-wrap:break-word}.markdown-render>*:first-child{margin-top:0}.markdown-render>*:last-child{margin-bottom:0}.markdown-render h1,.markdown-render h2,.markdown-render h3,.markdown-render h4{margin-top:1.25em;margin-bottom:.5em;font-weight:600;color:var(--text-primary, #f3f4f6)}.markdown-render h1{font-size:1.5rem}.markdown-render h2{font-size:1.25rem}.markdown-render h3{font-size:1.125rem}.markdown-render h4{font-size:1rem}.markdown-render p{margin:.75em 0}.markdown-render ul,.markdown-render ol{margin:.75em 0;padding-left:1.5em}.markdown-render li{margin:.25em 0}.markdown-render blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid rgba(245,158,11,.5);background:#1f293780;border-radius:0 .375rem .375rem 0;color:#d1d5db}.markdown-render code{padding:.2em .4em;font-size:.9em;background:#1f2937cc;border:1px solid rgba(245,158,11,.2);border-radius:.375rem;color:#fbbf24}.markdown-render-code-block{position:relative;margin:1em 0;border-radius:.5rem;overflow:hidden;background:#1f2937cc}.markdown-render-code-lang{display:block;padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:#94a3b8;background:#0f172a99;border-bottom:1px solid rgba(245,158,11,.2)}.markdown-render pre{margin:0;overflow-x:auto;border-radius:0}.markdown-render pre code{padding:0;background:none;border:none;font-size:inherit}.markdown-render table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.9rem}.markdown-render th,.markdown-render td{border:1px solid rgba(245,158,11,.25);padding:.5rem .75rem;text-align:left}.markdown-render th{background:#f59e0b26;font-weight:600;color:#f59e0b}.markdown-render a{color:#60a5fa;text-decoration:none}.markdown-render a:hover{text-decoration:underline}.markdown-render strong{font-weight:600;color:#f3f4f6}.markdown-render hr{border:none;border-top:1px solid rgba(245,158,11,.2);margin:1.5em 0}.discussion-filters .discussion-filter-select,.discussion-filters .discussion-search{border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;border:1px solid}.discussion-card:hover{border-color:var(--primary-500)!important;box-shadow:0 2px 8px #00000014}.discussion-badge{padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.discussion-badge-solved{background:#16a34a;color:#fff}.discussion-badge-category{background:var(--bg-primary);color:var(--text-secondary)}.discussion-list-loading .discussion-card-skeleton{animation:discussion-skeleton-pulse 1.5s ease-in-out infinite}@keyframes discussion-skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}.discussion-list-preview.markdown-render{font-size:.8125rem;line-height:1.4}.discussion-list-preview.markdown-render p,.discussion-list-preview.markdown-render>*{margin-top:.25em;margin-bottom:.25em}.discussion-list-preview.markdown-render .markdown-render-code-block,.discussion-list-preview.markdown-render pre{margin:.25em 0;padding:.35rem .5rem;font-size:.75rem}.discussion-list-preview.markdown-render .markdown-render-code-lang{font-size:.65rem;padding:.15rem .4rem}.drag-drop-config{background:#11182799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,158,11,.2);border-radius:1rem;padding:2rem;margin-bottom:2rem}.config-info-banner{padding:1rem 1.25rem;margin-bottom:2rem;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:.5rem;color:#93c5fd;font-size:.875rem;line-height:1.5}.config-info-banner strong{display:block;color:#60a5fa;margin-bottom:.5rem;font-size:1rem}.config-info-banner-title{display:inline-flex!important;align-items:center}.config-info-banner p{margin:0}.config-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(245,158,11,.1)}.config-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.config-section h3{font-size:1.25rem;font-weight:600;color:#f59e0b;margin:0 0 .5rem}.config-hint{color:#9ca3af;font-size:.875rem;margin:0 0 1rem;font-style:italic}.config-input-group{display:flex;gap:.75rem;margin-bottom:1.5rem}.config-input{flex:1;padding:.75rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;color:#f3f4f6;font-size:.875rem;transition:all .2s}.config-input:focus{outline:none;border-color:#f59e0b80;background:#1f2937b3;box-shadow:0 0 0 3px #f59e0b1a}.btn-add-item{padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f59e0b;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-add-item:hover{background:linear-gradient(135deg,#f59e0b4d,#f59e0b26);border-color:#f59e0b80;transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b33}.items-list,.zones-list{display:grid;gap:.75rem}.empty-list{text-align:center;padding:2rem 1rem;color:#6b7280;font-style:italic}.item-card,.zone-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;transition:all .2s}.item-card:hover,.zone-card:hover{border-color:#f59e0b66;background:#1f2937b3}.item-content,.zone-content{display:flex;align-items:center;gap:1rem;flex:1}.item-index{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f59e0b33;border-radius:50%;color:#f59e0b;font-weight:700;font-size:.875rem;flex-shrink:0}.item-text,.zone-text{color:#f3f4f6;font-weight:500}.btn-remove-item{padding:.5rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;color:#ef4444;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.btn-remove-item:hover{background:#ef444433;border-color:#ef444480;transform:scale(1.1)}.mapping-table-wrap{overflow-x:auto;margin-bottom:1rem}.mapping-table{width:100%;border-collapse:collapse;font-size:.875rem}.mapping-table th,.mapping-table td{padding:.75rem 1rem;text-align:left;border:1px solid rgba(245,158,11,.2)}.mapping-table th{background:#f59e0b26;color:#f59e0b;font-weight:600}.mapping-table tbody tr:hover{background:#1f293780}.mapping-table-by-item .mapping-item-label{color:#e5e7eb;font-weight:500}.mapping-select{padding:.5rem .75rem;min-width:12rem;background:#1f2937cc;border:1px solid rgba(245,158,11,.3);border-radius:.375rem;color:#f3f4f6;font-size:.875rem;cursor:pointer}.mapping-select:focus{outline:none;border-color:#f59e0b}.mapping-select option{background:var(--surface-alt, #f1f5f9);color:#f3f4f6}.mapping-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mapping-zone{padding:1.5rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.75rem}.mapping-zone h4{margin:0 0 1rem;color:#f59e0b;font-size:1rem;font-weight:600}.mapping-items{display:flex;flex-direction:column;gap:.75rem}.mapping-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#11182780;border:1px solid rgba(245,158,11,.15);border-radius:.375rem;cursor:pointer;transition:all .2s}.mapping-item:hover{border-color:#f59e0b66;background:#111827b3}.mapping-item input{cursor:pointer;accent-color:#f59e0b}.mapping-item span{color:#e5e7eb;font-size:.875rem;font-weight:500}.ordering-config{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.ordering-source,.ordering-target{padding:1.5rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.75rem}.ordering-source h4,.ordering-target h4{margin:0 0 1rem;color:#f59e0b;font-size:1rem;font-weight:600}.ordering-items{display:flex;flex-direction:column;gap:.75rem;min-height:200px}.ordering-item{padding:.75rem 1rem;background:#11182780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;color:#f3f4f6;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.75rem}.ordering-item:hover{border-color:#f59e0b66;background:#111827b3;transform:translate(4px)}.ordering-item.ordered{background:#22c55e1a;border-color:#22c55e4d;color:#4ade80}.order-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f59e0b;border-radius:50%;color:#111827;font-weight:700;font-size:.75rem;flex-shrink:0}.ordering-empty{color:#6b7280;text-align:center;padding:2rem 1rem;font-style:italic}.preview-box{padding:1.5rem;background:#1f293780;border:1px dashed rgba(245,158,11,.3);border-radius:.75rem}.preview-box p{margin:.5rem 0;color:#d1d5db;font-size:.875rem}.preview-box p strong{color:#f59e0b}@media(max-width:768px){.drag-drop-config{padding:1.5rem}.config-input-group{flex-direction:column}.btn-add-item{width:100%}.mapping-grid,.ordering-config{grid-template-columns:1fr}}.markdown-field .markdown-field-textarea{width:100%;min-height:120px;padding:.75rem 1rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.9375rem;line-height:1.5;resize:vertical;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;background:#111827cc;color:#f3f4f6}.markdown-field .markdown-field-textarea:focus{outline:none;border-color:#f59e0b99;box-shadow:0 0 0 2px #f59e0b26}.markdown-field .markdown-field-preview-wrap{margin-top:.75rem}.markdown-field .markdown-field-preview-toggle{padding:.4rem .75rem;font-size:.875rem;font-weight:500;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.375rem;cursor:pointer;transition:background .2s,border-color .2s}.markdown-field .markdown-field-preview-toggle:hover{background:#f59e0b33;border-color:#f59e0b80}.markdown-field .markdown-field-preview{margin-top:.75rem;padding:1rem;background:#111827e6;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;max-height:320px;overflow-y:auto}.markdown-field .markdown-field-preview .markdown-render{font-size:.9375rem}.markdown-field .markdown-field-preview .markdown-render pre{max-height:200px;overflow:auto}.question-create-container{max-width:900px;margin:2rem auto;padding:0 1rem}.question-create-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.question-create-header h1{font-size:1.75rem;font-weight:600;color:#f59e0b}.btn-back{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f59e0b;cursor:pointer;transition:all .2s}.btn-back:hover{background:#f59e0b33;border-color:#f59e0b80}.form-info-banner{padding:1rem 1.25rem;margin-bottom:1.5rem;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:.5rem;color:#93c5fd;font-size:.875rem;line-height:1.5}.form-info-banner strong{color:#60a5fa}.question-create-form{background:#11182799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,158,11,.2);border-radius:1rem;padding:2rem}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(245,158,11,.1)}.form-section:last-of-type{border-bottom:none}.form-section h2{font-size:1.25rem;font-weight:600;color:#f59e0b;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#d1d5db;margin-bottom:.5rem}.form-group input[type=text],.form-group input[type=url],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:.75rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;color:#f3f4f6;font-size:.875rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#f59e0b80;background:#1f2937b3}.form-group input[type=checkbox]{margin-right:.5rem;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.option-group{background:#1f29374d;border:1px solid rgba(245,158,11,.15);border-radius:.75rem;padding:1.5rem;margin-bottom:1rem}.option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.option-header h4{font-size:1rem;color:#f59e0b;font-weight:600}.btn-remove-option{padding:.25rem .75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;color:#ef4444;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-remove-option:hover{background:#ef444433}.btn-add-option{padding:.75rem 1.5rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f59e0b;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.btn-add-option:hover{background:#f59e0b33;border-color:#f59e0b80}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(245,158,11,.1)}.btn-cancel{padding:.75rem 2rem;background:#6b72801a;border:1px solid rgba(107,114,128,.3);border-radius:.5rem;color:#9ca3af;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover:not(:disabled){background:#6b728033}.btn-submit{padding:.75rem 2rem;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:.5rem;color:#111827;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.bulk-upload-questions{max-width:640px;margin:2rem auto;padding:0 1rem}.bulk-upload-header{margin-bottom:2rem}.bulk-upload-header .btn-back{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1px solid rgba(245,158,11,.3);color:#f59e0b;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;margin-bottom:1rem}.bulk-upload-header .btn-back:hover{background:#f59e0b1a}.bulk-upload-header h1{font-size:1.75rem;font-weight:700;color:#f59e0b;margin-bottom:.5rem}.bulk-upload-subtitle{color:#9ca3af;font-size:.95rem;line-height:1.5}.bulk-upload-templates{margin-bottom:2rem;padding:1.25rem;background:#11182780;border:1px solid rgba(245,158,11,.2);border-radius:.75rem}.bulk-upload-templates h3{font-size:1rem;font-weight:600;color:#f3f4f6;margin-bottom:.5rem}.bulk-upload-templates .template-hint{font-size:.85rem;color:#9ca3af;margin:0 0 .75rem}.bulk-upload-templates .template-hint code{background:#f59e0b26;padding:.1rem .35rem;border-radius:.25rem}.bulk-upload-templates-inline{margin-top:1rem}.template-buttons{display:flex;gap:.75rem}.btn-download{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#f59e0b;border-radius:.5rem;font-weight:500;cursor:pointer;font-size:.9rem}.btn-download:hover{background:#f59e0b40}.bulk-upload-form{margin-bottom:2rem;padding:1.5rem;background:#11182799;border:1px solid rgba(245,158,11,.2);border-radius:1rem}.form-row{margin-bottom:1.25rem}.form-row label{display:block;font-size:.9rem;font-weight:600;color:#e5e7eb;margin-bottom:.5rem}.form-row .required{color:#f87171}.form-row select,.form-row input[type=file]{width:100%;padding:.6rem .75rem;background:#111827cc;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f3f4f6;font-size:.95rem}.form-row select:disabled,.form-row input[type=file]:disabled{opacity:.6;cursor:not-allowed}.form-row .file-name{display:block;margin-top:.35rem;font-size:.85rem;color:#9ca3af}.bulk-upload-error{padding:.75rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#f87171;margin-bottom:1rem}.bulk-upload-result{padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:.5rem;margin-bottom:1rem}.result-success{display:flex;align-items:center;gap:.5rem;color:#4ade80;font-weight:600;margin-bottom:.5rem}.result-errors{margin-top:.75rem;font-size:.85rem;color:#fbbf24}.result-errors ul{margin:.25rem 0 0 1rem;padding:0}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-upload{padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:.5rem;color:#111827;font-weight:600;cursor:pointer;font-size:.95rem}.btn-upload:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.btn-upload:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-cancel{padding:.75rem 1.5rem;background:transparent;border:1px solid rgba(156,163,175,.4);border-radius:.5rem;color:#9ca3af;font-weight:500;cursor:pointer;font-size:.95rem}.btn-cancel:hover{background:#9ca3af1a;color:#e5e7eb}.bulk-upload-format{padding:1rem 1.25rem;background:#11182766;border:1px dashed rgba(245,158,11,.2);border-radius:.75rem}.bulk-upload-format h3{font-size:.95rem;font-weight:600;color:#e5e7eb;margin-bottom:.75rem}.bulk-upload-format ul{margin:0;padding-left:1.25rem;color:#9ca3af;font-size:.9rem;line-height:1.7}.bulk-upload-format li{margin-bottom:.35rem}.dq-container{max-width:1280px;margin:0 auto;padding:2rem 1.75rem 6rem}.dq-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:#9ca3af;font-size:1rem}.dq-loading-spinner{width:40px;height:40px;border:3px solid rgba(245,158,11,.15);border-top-color:#f59e0b;border-radius:50%;animation:spin .8s linear infinite}.spin{animation:spin .8s linear infinite}.dq-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dq-header-left{display:flex;align-items:center;gap:.625rem}.dq-header-right{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.dq-nav-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:.5rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .18s;white-space:nowrap}.dq-nav-dashboard{background:#a855f71a;border:1px solid rgba(168,85,247,.3);color:#c084fc}.dq-nav-dashboard:hover{background:#a855f733;transform:translateY(-1px)}.dq-nav-back{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);color:#f59e0b}.dq-nav-back:hover{background:#f59e0b26;transform:translateY(-1px)}.dq-title-group{margin-left:.5rem}.dq-title{font-size:1.6rem;font-weight:700;color:#f59e0b;line-height:1.1;margin:0}.dq-subtitle{font-size:.75rem;color:#6b7280}.dq-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:.5rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#9ca3af;cursor:pointer;transition:all .18s}.dq-icon-btn:hover{color:#f3f4f6;background:#ffffff14}.dq-icon-btn:disabled{opacity:.5;cursor:not-allowed}.dq-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap}.dq-btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#111827}.dq-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 14px #f59e0b59}.dq-btn-secondary{background:#3b82f61f;border:1px solid rgba(59,130,246,.35);color:#60a5fa}.dq-btn-secondary:hover{background:#3b82f638;transform:translateY(-1px)}.dq-stats-strip{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.dq-stat-card{flex:1;min-width:110px;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem .5rem;border-radius:.875rem;border:1px solid rgba(255,255,255,.06);background:#11182780;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.dq-stat-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 .875rem .875rem;opacity:0;transition:opacity .2s}.dq-stat-card.active:after{opacity:1}.dq-stat-card:hover{transform:translateY(-2px)}.dq-stat-count{font-size:1.5rem;font-weight:700;line-height:1}.dq-stat-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.tab-all{color:#e5e7eb}.tab-all:after{background:#e5e7eb}.tab-all.active,.tab-all:hover{background:#e5e7eb14;border-color:#e5e7eb2e}.tab-draft{color:#9ca3af}.tab-draft:after{background:#9ca3af}.tab-draft.active,.tab-draft:hover{background:#9ca3af1a;border-color:#9ca3af33}.tab-review{color:#60a5fa}.tab-review:after{background:#60a5fa}.tab-review.active,.tab-review:hover{background:#3b82f61a;border-color:#3b82f640}.tab-approved{color:#4ade80}.tab-approved:after{background:#4ade80}.tab-approved.active,.tab-approved:hover{background:#22c55e1a;border-color:#22c55e40}.tab-published{color:#34d399}.tab-published:after{background:#34d399}.tab-published.active,.tab-published:hover{background:#10b9811a;border-color:#10b98140}.dq-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.dq-search-wrap{flex:1;min-width:220px;position:relative;display:flex;align-items:center}.dq-search-icon{position:absolute;left:.75rem;color:#6b7280;pointer-events:none}.dq-search{width:100%;padding:.55rem 2.5rem .55rem 2.25rem;background:#11182799;border:1px solid rgba(255,255,255,.08);border-radius:.625rem;color:#f3f4f6;font-size:.875rem;outline:none;transition:border-color .2s}.dq-search:focus{border-color:#f59e0b66}.dq-search::-moz-placeholder{color:#4b5563}.dq-search::placeholder{color:#4b5563}.dq-search-clear{position:absolute;right:.6rem;background:none;border:none;color:#6b7280;font-size:1.1rem;cursor:pointer;padding:0 .2rem;line-height:1}.dq-search-clear:hover{color:#f3f4f6}.dq-toolbar-right{display:flex;align-items:center;gap:.5rem}.dq-sort-wrap{position:relative}.dq-sort-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:#11182799;border:1px solid rgba(255,255,255,.08);border-radius:.625rem;color:#9ca3af;font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:all .18s}.dq-sort-btn:hover{border-color:#f59e0b4d;color:#f3f4f6}.dq-sort-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:170px;background:var(--text, #0f172a);border:1px solid rgba(255,255,255,.1);border-radius:.625rem;overflow:hidden;z-index:50;box-shadow:0 8px 24px #00000080}.dq-sort-option{display:block;width:100%;text-align:left;padding:.55rem 1rem;background:none;border:none;color:#9ca3af;font-size:.8125rem;cursor:pointer;transition:background .15s}.dq-sort-option:hover{background:#ffffff0f;color:#f3f4f6}.dq-sort-option.active{color:#f59e0b;background:#f59e0b14}.dq-view-toggle{display:flex;border:1px solid rgba(255,255,255,.08);border-radius:.5rem;overflow:hidden}.dq-view-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:none;color:#6b7280;cursor:pointer;transition:all .15s}.dq-view-btn:hover{color:#f3f4f6;background:#ffffff0d}.dq-view-btn.active{color:#f59e0b;background:#f59e0b1a}.tab-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.65rem 1rem;border-radius:.625rem;margin-bottom:1rem;font-size:.8125rem}.tab-toolbar-select{background:#f59e0b0d;border:1px solid rgba(245,158,11,.15)}.tab-toolbar-info{background:#3b82f60f;border:1px solid rgba(59,130,246,.18);color:#60a5fa}.tab-toolbar-published{background:#10b9810f;border:1px solid rgba(16,185,129,.18);color:#34d399}.toolbar-info-icon{flex-shrink:0}.batch-select-label{display:flex;align-items:center;gap:.5rem;color:#9ca3af;font-weight:500;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.batch-select-label input{cursor:pointer;accent-color:#f59e0b;width:15px;height:15px}.tab-selection-hint{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;font-size:.775rem;color:#f59e0b;animation:pulse-hint 1.5s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:1}50%{opacity:.5}}.dq-float-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:100;animation:float-up .25s cubic-bezier(.34,1.56,.64,1)}@keyframes float-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dq-float-bar-inner{display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;background:var(--surface-alt, #f1f5f9);border:1px solid rgba(245,158,11,.35);border-radius:2rem;box-shadow:0 8px 32px #0009,0 0 0 1px #f59e0b1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-wrap:wrap;max-width:calc(100vw - 2rem)}.dq-float-count{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:700;color:#f59e0b;white-space:nowrap}.dq-float-divider{width:1px;height:24px;background:#ffffff1a;margin:0 .25rem}.dq-float-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:1.5rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap;border:none}.dq-float-btn:disabled{opacity:.5;cursor:not-allowed}.dq-float-btn-review{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.dq-float-btn-review:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 14px #22c55e66}.dq-float-btn-publish{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.dq-float-btn-publish:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 14px #3b82f666}.dq-float-btn-clear{background:#ffffff12;color:#9ca3af;border:1px solid rgba(255,255,255,.1)!important}.dq-float-btn-clear:hover{background:#ffffff1f;color:#f3f4f6}.dq-results-info{font-size:.8125rem;color:#6b7280;margin-bottom:1rem}.dq-results-info strong{color:#f59e0b}.dq-empty{text-align:center;padding:5rem 2rem;background:#11182766;border:2px dashed rgba(245,158,11,.15);border-radius:1rem;color:#6b7280}.dq-empty-icon{color:#f59e0b4d;margin-bottom:1.25rem}.dq-empty h3{font-size:1.2rem;color:#9ca3af;margin-bottom:.5rem}.dq-empty p{font-size:.9rem;margin-bottom:1.75rem}.dq-empty-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.dq-list{display:flex;flex-direction:column;gap:.875rem}.dq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem}.dq-card{background:#111827a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.07);border-left:3px solid transparent;border-radius:.875rem;padding:1.1rem 1.25rem .9rem;transition:all .2s;position:relative}.dq-card:hover{border-color:#ffffff1f;box-shadow:0 6px 24px #0000004d;transform:translateY(-1px)}.dq-card-selected{border-color:#f59e0b59!important;background:#f59e0b0a}.status-left-draft{border-left-color:#6b7280}.status-left-review{border-left-color:#3b82f6}.status-left-revision{border-left-color:#ef4444}.status-left-approved{border-left-color:#22c55e}.status-left-published{border-left-color:#10b981}.dq-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.dq-card-head-left{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dq-checkbox{accent-color:#f59e0b;width:15px;height:15px;cursor:pointer;flex-shrink:0}.dq-type-pill{padding:.2rem .6rem;border-radius:.375rem;font-size:.7rem;font-weight:700;letter-spacing:.03em}.type-mcq{background:#f59e0b1f;color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.type-msq{background:#8b5cf61f;color:#a78bfa;border:1px solid rgba(139,92,246,.25)}.type-dd{background:#ec48991f;color:#f472b6;border:1px solid rgba(236,72,153,.25)}.dq-diff-pill{padding:.2rem .55rem;border-radius:.375rem;font-size:.7rem;font-weight:600}.diff-easy{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.diff-medium{background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(245,158,11,.2)}.diff-hard{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.status-badge{padding:.2rem .6rem;border-radius:.375rem;font-size:.7rem;font-weight:600}.status-draft{background:#6b72802e;color:#9ca3af}.status-review{background:#3b82f626;color:#60a5fa}.status-revision{background:#ef444426;color:#f87171}.status-approved{background:#22c55e26;color:#4ade80}.status-published{background:#10b98126;color:#34d399}.dq-card-stats{display:flex;align-items:center;gap:.75rem;font-size:.75rem;color:#6b7280}.dq-card-stats span{display:inline-flex;align-items:center;gap:.25rem}.stat-good{color:#4ade80}.stat-mid{color:#fbbf24}.stat-low{color:#f87171}.dq-card-body{margin-bottom:.6rem}.dq-card-text{font-size:.9375rem;font-weight:500;color:#e5e7eb;line-height:1.5;margin-bottom:.35rem}.dq-card-lesson{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:#6b7280;margin-bottom:.35rem}.dq-card-tags{display:flex;gap:.35rem;flex-wrap:wrap}.dq-tag{padding:.15rem .5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.07);border-radius:.3rem;font-size:.7rem;color:#6b7280}.dq-success-bar{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:.75rem}.dq-success-fill{height:100%;border-radius:2px;transition:width .4s ease;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);background-size:200% 100%;background-position:calc((100 - var(--rate, 0)) * 1%) 0}.dq-card-actions{display:flex;gap:.4rem;flex-wrap:wrap;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05)}.dq-action-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .8rem;border-radius:.4rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent}.dq-action-view{background:#f59e0b14;border-color:#f59e0b33;color:#f59e0b}.dq-action-view:hover{background:#f59e0b29}.dq-action-edit{background:#3b82f614;border-color:#3b82f633;color:#60a5fa}.dq-action-edit:hover{background:#3b82f629}.dq-action-submit{background:#22c55e14;border-color:#22c55e33;color:#4ade80}.dq-action-submit:hover{background:#22c55e29}.dq-action-resubmit{background:#ef444414;border-color:#ef444433;color:#f87171}.dq-action-resubmit:hover{background:#ef444429}.dq-action-publish{background:#10b9811a;border-color:#10b98140;color:#34d399}.dq-action-publish:hover{background:#10b98133}.dq-action-analytics{background:#a855f714;border-color:#a855f733;color:#a78bfa}.dq-action-analytics:hover{background:#a855f729}@media(max-width:768px){.dq-container{padding:1.25rem 1rem 3rem}.dq-header{flex-direction:column;align-items:stretch}.dq-header-right{justify-content:flex-end}.dq-stats-strip{gap:.5rem}.dq-stat-card{min-width:80px;padding:.65rem .25rem}.dq-stat-count{font-size:1.25rem}.dq-toolbar{flex-direction:column;align-items:stretch}.dq-toolbar-right{justify-content:flex-end}.tab-toolbar-actions{margin-left:0;width:100%}.toolbar-btn{flex:1;justify-content:center}.dq-grid{grid-template-columns:1fr}.dq-card-actions button{flex:1;min-width:80px;justify-content:center}}.drag-drop-question{width:100%;max-width:1280px;margin:2rem auto;padding:0 1.25rem;box-sizing:border-box}.question-header-drag{margin-bottom:2rem}.question-header-drag .markdown-render{margin-top:0}.question-header-drag .markdown-render>*:first-child{margin-top:0}.question-header-drag h2,.question-header-drag .markdown-render h2{font-size:1.5rem;font-weight:600;color:#f3f4f6;line-height:1.6;margin-bottom:1rem}.question-image-drag{max-width:100%;border-radius:.75rem;margin:1.5rem 0;border:1px solid rgba(245,158,11,.2);box-shadow:0 4px 12px #0000004d}.hint-section-drag{margin:1.5rem 0}.btn-show-hint-drag{padding:.5rem 1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:.5rem;color:#60a5fa;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-show-hint-drag:hover{background:#3b82f633;transform:translateY(-2px)}.hint-box-drag .markdown-render{display:inline}.hint-box-drag .markdown-render p{display:inline;margin:0}.hint-box-drag{padding:1rem;background:#3b82f61a;border-left:4px solid #60a5fa;border-radius:.5rem;color:#e5e7eb;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.drag-drop-container{display:grid;grid-template-columns:minmax(240px,1fr) minmax(280px,1.2fr);gap:2rem;margin:2rem 0;background:#111827b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,158,11,.2);border-radius:1rem;padding:1.5rem 2rem;min-height:0}.drag-drop-source{display:flex;flex-direction:column;min-height:0}.source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(245,158,11,.3)}.source-header h4{font-size:1.125rem;font-weight:600;color:#f59e0b;margin:0}.source-count{padding:.25rem .75rem;background:#f59e0b33;border-radius:1rem;font-size:.875rem;color:#fbbf24;font-weight:600}.source-items{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow-y:auto}.drag-item{padding:.875rem 1rem;background:linear-gradient(135deg,#f59e0b33,#f59e0b0d);border:2px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f3f4f6;font-weight:500;cursor:move;transition:all .2s ease;display:flex;align-items:center;gap:.75rem}.drag-item:hover{border-color:#f59e0b99;background:linear-gradient(135deg,#f59e0b4d,#f59e0b1a);transform:translate(4px);box-shadow:0 4px 12px #f59e0b33}.drag-item.source-item{-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-item.dragging{opacity:.6;transform:scale(.98);box-shadow:0 4px 12px #f59e0b66;cursor:grabbing}.drag-item-icon{color:#f59e0b;font-size:1.25rem;opacity:.6}.empty-source{text-align:center;color:#6b7280;font-style:italic;padding:2rem 1rem}.drag-drop-target{display:flex;flex-direction:column;gap:1rem;min-height:0;overflow:hidden}.drag-drop-target h3{font-size:1.25rem;font-weight:600;color:#f59e0b;margin:0 0 .75rem;flex-shrink:0}.matching-view{display:flex;flex-direction:column;min-height:0;overflow:hidden}.matching-view .matching-zones{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;overflow-x:hidden;max-height:min(65vh,520px);padding-right:.25rem}.matching-view .matching-zones::-webkit-scrollbar{width:8px}.matching-view .matching-zones::-webkit-scrollbar-track{background:#1f293780;border-radius:4px}.matching-view .matching-zones::-webkit-scrollbar-thumb{background:#f59e0b66;border-radius:4px}.matching-zone{padding:1rem 1.25rem;background:#1f2937b3;border:2px dashed rgba(245,158,11,.3);border-radius:.75rem;transition:all .2s ease;min-height:72px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center}.matching-zone:hover{border-color:#f59e0b99;background:#1f2937e6}.matching-zone-label{margin:0 0 .5rem;color:#f59e0b;font-size:1rem;font-weight:600;line-height:1.4;padding-bottom:.35rem;border-bottom:1px solid rgba(245,158,11,.2)}.matching-zone-slots{display:flex;flex-direction:column;gap:.5rem;min-height:32px}.matching-zone-slots .placed-item{width:100%}.matching-view .matching-pairs{display:grid;gap:1.5rem}.matching-pair{display:grid;grid-template-columns:150px 1fr;gap:1rem;align-items:center}.pair-label{padding:.875rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;color:#f3f4f6;font-weight:500;text-align:center}.pair-target{min-height:50px;padding:.75rem;background:#1f2937b3;border:2px dashed rgba(245,158,11,.3);border-radius:.5rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pair-target:hover,.pair-target.drag-over{border-color:#f59e0b99;background:#1f2937e6}.pair-target.drag-over{box-shadow:0 0 0 2px #f59e0b4d}.drop-hint{color:#9ca3af;font-size:.875rem}.drop-hint-large{color:#9ca3af;font-style:italic;text-align:center}.placed-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:linear-gradient(135deg,#22c55e33,#10b9811a);border:1px solid rgba(34,197,94,.4);padding:.5rem .75rem;border-radius:.375rem;color:#4ade80;width:100%;animation:popIn .3s ease}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.remove-btn{background:#ef444433;border:none;border-radius:50%;width:24px;height:24px;color:#ef4444;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.remove-btn:hover{background:#ef444466;transform:scale(1.1)}.ordering-view{width:100%}.ordering-area{min-height:200px;padding:1.5rem;background:#1f2937b3;border:2px dashed rgba(245,158,11,.3);border-radius:.75rem;transition:all .2s ease}.ordering-area:hover{border-color:#f59e0b99;background:#1f2937e6}.ordered-list{display:flex;flex-direction:column;gap:.75rem}.ordered-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#22c55e26,#10b9810d);border:1px solid rgba(34,197,94,.3);border-radius:.5rem;animation:slideInLeft .3s ease}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.order-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f59e0b;border-radius:50%;color:#111827;font-weight:700;font-size:1rem;flex-shrink:0}.order-text{flex:1;color:#f3f4f6;font-weight:500}.sorting-view{width:100%}.sorting-zones{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.sorting-zone{padding:1.5rem;background:#1f2937b3;border:2px dashed rgba(245,158,11,.3);border-radius:.75rem;transition:all .2s ease;min-height:200px}.sorting-zone:hover{border-color:#f59e0b99;background:#1f2937e6}.sorting-zone h4{margin:0 0 1rem;color:#f59e0b;font-size:1.125rem;font-weight:600}.zone-items{display:flex;flex-direction:column;gap:.5rem}.sorted-item{padding:.75rem;background:linear-gradient(135deg,#22c55e26,#10b9810d);border:1px solid rgba(34,197,94,.3);border-radius:.375rem;color:#4ade80;font-weight:500;display:flex;align-items:center;justify-content:space-between;animation:popIn .3s ease}.remove-btn-small{background:#ef444433;border:none;border-radius:50%;width:20px;height:20px;color:#ef4444;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.remove-btn-small:hover{background:#ef444466;transform:scale(1.1)}.gap-fill-view{width:100%}.gap-fill-text{padding:2rem;background:#1f2937b3;border:1px solid rgba(245,158,11,.2);border-radius:.75rem;color:#f3f4f6;font-size:1.125rem;line-height:2}.gap-target{display:inline-block;padding:.5rem .75rem;background:#f59e0b26;border:2px dashed rgba(245,158,11,.4);border-radius:.375rem;margin:0 .25rem;cursor:pointer;transition:all .2s ease;min-width:100px}.gap-target:hover{border-color:#f59e0bcc;background:#f59e0b40}.gap-item{display:inline-flex;align-items:center;gap:.5rem;color:#4ade80;background:#22c55e26;padding:.25rem .5rem;border-radius:.25rem;animation:popIn .3s ease}.gap-placeholder{color:#9ca3af;font-weight:700}.gap-remove-btn{background:#ef444433;border:none;border-radius:50%;width:18px;height:18px;color:#ef4444;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.gap-remove-btn:hover{background:#ef444466;transform:scale(1.1)}.feedback-container-drag{margin-top:2rem;animation:slideIn .3s ease}.feedback-result-drag{display:flex;align-items:center;gap:1.5rem;padding:2rem;border-radius:.75rem;margin-bottom:1.5rem}.feedback-result-drag.correct{background:#22c55e26;border:2px solid rgba(34,197,94,.4)}.feedback-result-drag.incorrect{background:#ef444426;border:2px solid rgba(239,68,68,.4)}.feedback-icon-drag{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;flex-shrink:0}.feedback-result-drag.correct .feedback-icon-drag{background:#22c55e33;color:#4ade80}.feedback-result-drag.incorrect .feedback-icon-drag{background:#ef444433;color:#f87171}.feedback-message-drag h3{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.feedback-result-drag.correct .feedback-message-drag h3{color:#4ade80}.feedback-result-drag.incorrect .feedback-message-drag h3{color:#f87171}.feedback-message-drag p{margin:0;color:#d1d5db;font-size:1rem}.explanation-box-drag{padding:1.5rem;background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:.5rem;margin-bottom:1.5rem}.explanation-box-drag h4{color:#f59e0b;font-size:1.125rem;margin:0 0 .75rem}.explanation-box-drag p{color:#e5e7eb;margin:0;line-height:1.6}.class-performance-drag{padding:1rem;background:#1f293780;border-radius:.5rem;display:flex;gap:2rem;justify-content:center}.class-performance-drag p{color:#9ca3af;font-size:.875rem;margin:0}.question-actions-drag{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(245,158,11,.2)}.btn-submit-drag{padding:.75rem 2rem;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:.5rem;color:#111827;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-submit-drag:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.btn-submit-drag:disabled{opacity:.5;cursor:not-allowed}.tap-mode-hint{grid-column:1 / -1;margin:0 0 .5rem;padding:.5rem .75rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#fbbf24;font-size:.875rem}.tap-mode-label{font-size:.75rem;color:#9ca3af;margin-left:.5rem}.drag-item.tap-selected{outline:2px solid #f59e0b;outline-offset:2px;background:#f59e0b40;box-shadow:0 0 0 3px #f59e0b33}.matching-zone.tap-drop-target,.sorting-zone.tap-drop-target,.ordering-area.tap-drop-target{cursor:pointer;outline:2px dashed rgba(245,158,11,.5);outline-offset:2px}.gap-target.tap-drop-target{cursor:pointer;outline:2px dashed rgba(245,158,11,.5);outline-offset:1px}@media(max-width:1024px){.drag-drop-container,.matching-pair{grid-template-columns:1fr}.pair-label{width:100%}}@media(max-width:768px){.drag-drop-container{padding:1rem;gap:1rem}.drag-item.source-item{min-height:48px;padding:.75rem 1rem}.sorting-zones{grid-template-columns:1fr}.feedback-result-drag{flex-direction:column;text-align:center}.class-performance-drag{flex-direction:column;gap:.5rem}.question-actions-drag{flex-direction:column}.btn-submit-drag{width:100%;min-height:48px}}.sa-shell{font-family:Inter,system-ui,sans-serif;background:#f0f9ff;min-height:100vh;padding:1.5rem 1rem 3rem;box-sizing:border-box}.sa-shell.no-screenshot{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.sa-header{display:flex;align-items:center;gap:1rem;max-width:760px;margin:0 auto 1.5rem}.sa-btn-exit{flex-shrink:0;padding:.5rem .875rem;background:#fff;border:1.5px solid #bae6fd;border-radius:.5rem;color:#0ea5e9;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.sa-btn-exit:hover{background:#e0f2fe;border-color:#72d3f7}.sa-progress-wrap{flex:1;display:flex;flex-direction:column;gap:.25rem}.sa-progress-bar{height:6px;background:#bae6fd;border-radius:99px;overflow:hidden}.sa-progress-fill{height:100%;background:linear-gradient(90deg,#72d3f7,#0ea5e9);border-radius:99px;transition:width .35s ease}.sa-progress-label{font-size:.75rem;font-weight:600;color:#0ea5e9;text-align:right}.sa-timer{flex-shrink:0;font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;color:#64748b;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;padding:.375rem .75rem}.sa-card{max-width:760px;margin:0 auto;background:#fff;border-radius:1.25rem;box-shadow:0 1px 3px #0000000f,0 4px 20px #0ea5e914;padding:2rem;border:1.5px solid #e0f2fe}.sa-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.sa-badge{padding:.25rem .75rem;border-radius:99px;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sa-badge.type{background:#e0f2fe;color:#0284c7}.sa-badge.pts{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.sa-badge.diff.easy{background:#f0fdf4;color:#16a34a}.sa-badge.diff.medium{background:#fefce8;color:#ca8a04}.sa-badge.diff.hard{background:#fff1f2;color:#e11d48}.sa-question-body{font-size:1.0625rem;color:#0f172a;line-height:1.7;margin-bottom:1.75rem}.sa-question-img{max-width:100%;border-radius:.75rem;margin-top:1rem;border:1px solid #e0f2fe}.sa-hint-wrap{margin-bottom:1.5rem}.sa-btn-hint{padding:.5rem 1rem;background:#f0f9ff;border:1.5px dashed #72d3f7;border-radius:.5rem;color:#0284c7;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.sa-btn-hint:hover{background:#e0f2fe}.sa-hint-box{padding:.875rem 1rem;background:#f0f9ff;border-left:3px solid #72d3f7;border-radius:0 .5rem .5rem 0;color:#0f172a;font-size:.9rem;line-height:1.6}.sa-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.75rem}.sa-option{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.875rem;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s;width:100%}.sa-option:hover{border-color:#72d3f7;background:#f0f9ff}.sa-option.selected{border-color:#0ea5e9;background:#e0f2fe}.sa-option:active{transform:scale(.99)}.sa-option-marker{flex-shrink:0;width:22px;height:22px;border:2px solid #cbd5e1;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#0ea5e9;background:#fff;transition:border-color .15s,background .15s}.sa-option.selected .sa-option-marker{border-color:#0ea5e9;background:#0ea5e9;color:#fff}.sa-option-text{flex:1;font-size:.9625rem;color:#1e293b;line-height:1.55}.sa-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;border-top:1.5px solid #f1f5f9;gap:1rem}.sa-answered-hint{font-size:.8rem;color:#94a3b8;font-weight:500}.sa-btn-submit{padding:.75rem 1.75rem;background:linear-gradient(135deg,#38bdf8,#0284c7);border:none;border-radius:.75rem;color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px #0ea5e94d}.sa-btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #0ea5e966}.sa-btn-submit:active:not(:disabled){transform:translateY(0)}.sa-btn-submit:disabled{opacity:.45;cursor:not-allowed}.sa-dots{display:flex;justify-content:center;gap:.4rem;margin-top:1.5rem;flex-wrap:wrap;max-width:760px;margin-left:auto;margin-right:auto}.sa-dot{width:8px;height:8px;border-radius:50%;background:#cbd5e1;transition:background .2s,transform .2s}.sa-dot.done{background:#72d3f7}.sa-dot.active{background:#0ea5e9;transform:scale(1.35)}.sa-loader,.sa-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;color:#64748b;text-align:center}.sa-spinner{width:36px;height:36px;border:3px solid #bae6fd;border-top-color:#0ea5e9;border-radius:50%;animation:sa-spin .7s linear infinite}@keyframes sa-spin{to{transform:rotate(360deg)}}.sa-empty-icon{font-size:2.5rem}.sa-empty h3{margin:0;font-size:1.125rem;color:#1e293b}.sa-empty p{margin:0;font-size:.9rem}.sa-btn-back{margin-top:.5rem;padding:.625rem 1.5rem;background:#e0f2fe;border:none;border-radius:.625rem;color:#0284c7;font-weight:700;cursor:pointer;transition:background .15s}.sa-btn-back:hover{background:#bae6fd}.sa-review-wrapper{max-width:760px;margin:0 auto}.sa-score-hero{display:flex;align-items:center;gap:2rem;background:#fff;border-radius:1.25rem;padding:2rem 2.5rem;margin-bottom:2rem;border:2px solid #e0f2fe;box-shadow:0 4px 24px #0ea5e91a}.sa-score-hero.passed{border-color:#bbf7d0}.sa-score-hero.failed{border-color:#fecdd3}.sa-score-ring{position:relative;width:100px;height:100px;flex-shrink:0}.sa-score-ring svg{width:100%;height:100%}.ring-bg{fill:none;stroke:#e2e8f0;stroke-width:10}.ring-fill{fill:none;stroke:#0ea5e9;stroke-width:10;stroke-linecap:round;transition:stroke-dasharray .6s ease}.sa-score-hero.passed .ring-fill{stroke:#22c55e}.sa-score-hero.failed .ring-fill{stroke:#f43f5e}.sa-score-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.375rem;font-weight:800;color:#0f172a}.sa-score-info h2{margin:0 0 .25rem;font-size:1.375rem;font-weight:800;color:#0f172a}.sa-score-info p{margin:0 0 .375rem;color:#64748b;font-size:.9rem}.sa-pass-threshold{font-size:.8rem!important;color:#94a3b8!important;margin-bottom:.5rem!important}.sa-pass-badge{display:inline-block;padding:.25rem .875rem;border-radius:99px;font-size:.8125rem;font-weight:700}.sa-pass-badge.pass{background:#dcfce7;color:#16a34a}.sa-pass-badge.fail{background:#fff1f2;color:#e11d48}.sa-review-heading{font-size:1rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.sa-review-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.sa-review-card{background:#fff;border-radius:1rem;border:1.5px solid #e2e8f0;padding:1.5rem;box-shadow:0 1px 3px #0000000a}.sa-review-card.correct{border-left:4px solid #22c55e}.sa-review-card.incorrect{border-left:4px solid #f43f5e}.sa-review-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.sa-q-number{font-size:.75rem;font-weight:800;background:#f1f5f9;color:#475569;border-radius:.375rem;padding:.2rem .6rem;text-transform:uppercase}.sa-verdict{font-size:.8125rem;font-weight:700;padding:.2rem .75rem;border-radius:99px}.sa-verdict.correct{background:#dcfce7;color:#16a34a}.sa-verdict.incorrect{background:#fff1f2;color:#e11d48}.sa-pts{margin-left:auto;font-size:.8125rem;font-weight:700;color:#0284c7;background:#e0f2fe;border-radius:99px;padding:.2rem .75rem}.sa-review-question{font-size:.9625rem;color:#1e293b;line-height:1.65;margin-bottom:1.25rem}.sa-options-review{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.sa-opt-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:.625rem;border:1.5px solid transparent}.sa-opt-row.correct-selected{background:#dcfce7;border-color:#86efac}.sa-opt-row.correct-missed{background:#f0fdf4;border-color:#bbf7d0}.sa-opt-row.wrong-selected{background:#fff1f2;border-color:#fecdd3}.sa-opt-row.neutral{background:#f8fafc;border-color:#e2e8f0}.sa-opt-icon{flex-shrink:0;font-size:.875rem;font-weight:800;width:18px;padding-top:2px}.sa-opt-row.correct-selected .sa-opt-icon,.sa-opt-row.correct-missed .sa-opt-icon{color:#16a34a}.sa-opt-row.wrong-selected .sa-opt-icon{color:#e11d48}.sa-opt-row.neutral .sa-opt-icon{color:#94a3b8}.sa-opt-body{flex:1}.sa-opt-text{font-size:.9rem;color:#1e293b;line-height:1.5}.sa-opt-exp{font-size:.8125rem;color:#64748b;margin-top:.25rem;line-height:1.5}.sa-your-ans{flex-shrink:0;font-size:.7rem;font-weight:700;background:#dbeafe;color:#1d4ed8;border-radius:99px;padding:.15rem .5rem;align-self:flex-start}.sa-explanation{padding:.875rem 1rem;background:#fefce8;border-left:3px solid #facc15;border-radius:0 .5rem .5rem 0;margin-bottom:1rem;font-size:.9rem;color:#1e293b;line-height:1.6}.sa-exp-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#a16207;margin-bottom:.375rem}.sa-review-stats{display:flex;gap:1.5rem;font-size:.8rem;color:#94a3b8;font-weight:500}.sa-review-actions{display:flex;justify-content:center;gap:1rem;padding:1rem 0 2rem;flex-wrap:wrap}.sa-btn-retry{padding:.875rem 2.5rem;background:#fff;border:2px solid #0ea5e9;border-radius:.875rem;color:#0284c7;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.sa-btn-retry:hover{background:#e0f2fe;transform:translateY(-1px)}.sa-btn-finish{padding:.875rem 2.5rem;background:linear-gradient(135deg,#38bdf8,#0284c7);border:none;border-radius:.875rem;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #0ea5e959;transition:transform .15s,box-shadow .15s}.sa-btn-finish:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0ea5e973}@media(max-width:640px){.sa-shell{padding:1rem .75rem 2.5rem}.sa-card{padding:1.25rem;border-radius:1rem}.sa-header{gap:.625rem}.sa-btn-exit{padding:.4rem .625rem;font-size:.8125rem}.sa-timer{font-size:.8125rem;padding:.3rem .5rem}.sa-option{padding:.875rem 1rem}.sa-score-hero{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.sa-score-ring{width:80px;height:80px}.sa-score-pct{font-size:1.125rem}.sa-card-footer{flex-direction:column;align-items:stretch}.sa-btn-submit{width:100%;text-align:center}.sa-review-stats{flex-direction:column;gap:.25rem}}.assessment-watermark{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-size:4rem;font-weight:900;color:#ef444414;pointer-events:none;z-index:1;white-space:nowrap;letter-spacing:2px;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none}.no-screenshot{-webkit-user-select:none;-webkit-user-drag:none;-moz-user-select:none;user-select:none}.security-warning{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;margin-bottom:1.5rem;background:#ef444426;border:2px solid rgba(239,68,68,.4);border-radius:.75rem;color:#fecaca;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.warning-icon{font-size:1.75rem;flex-shrink:0}.warning-content{flex:1}.warning-content h3{margin:0 0 .5rem;color:#fca5a5;font-size:1.125rem}.warning-content p{margin:.25rem 0;color:#fbcfe8;font-size:.875rem}.warning-hint{font-size:.8rem!important;opacity:.9}.btn-close-warning{padding:.5rem;background:#ef444433;border:none;border-radius:.5rem;color:#fca5a5;font-size:1.5rem;cursor:pointer;transition:all .2s}.btn-close-warning:hover{background:#ef44444d}.questions-review-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.question-review-card{background:#11182799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,158,11,.2);border-radius:1rem;overflow:hidden;transition:all .2s ease}.question-review-card:hover{border-color:#f59e0b66;box-shadow:0 4px 12px #f59e0b1a}.question-review-card.expanded{border-color:#f59e0b80}.question-review-header{padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.question-review-header:hover{background:#f59e0b0d}.question-review-meta{display:flex;gap:1.5rem;flex:1}.question-number{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f59e0b33;border-radius:.5rem;color:#f59e0b;font-weight:700;font-size:1.125rem;flex-shrink:0}.question-info{flex:1}.question-info h3{margin:0 0 .5rem;font-size:1.125rem;color:#f3f4f6;line-height:1.5}.meta-badges{display:flex;gap:.5rem;flex-wrap:wrap}.meta-badges span{padding:.375rem .75rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.2);border-radius:.375rem;font-size:.75rem;font-weight:600;color:#f59e0b}.badge-score{background:#f59e0b26!important;color:#f59e0b!important}.badge-score.correct{background:#22c55e26!important;color:#4ade80!important;border-color:#22c55e4d!important}.badge-score.incorrect{background:#ef444426!important;color:#f87171!important;border-color:#ef44444d!important}.expand-icon{color:#9ca3af;font-size:1rem;font-weight:600;transition:transform .2s ease;flex-shrink:0}.question-review-card.expanded .expand-icon{transform:rotate(180deg)}.question-review-content{padding:0 1.5rem 1.5rem;border-top:1px solid rgba(245,158,11,.1);animation:slideDown .3s ease}.question-review-image{width:100%;max-width:600px;border-radius:.75rem;margin-bottom:1.5rem;border:1px solid rgba(245,158,11,.2)}.drag-drop-review{margin-bottom:1.5rem}.drag-drop-review h4{color:#f59e0b;font-size:1.125rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(245,158,11,.2)}.matching-review-grid{display:grid;gap:1rem}.matching-review-row{padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;transition:all .2s ease}.matching-review-row.correct{border-color:#22c55e4d;background:#22c55e14}.matching-review-row.incorrect{border-color:#ef44444d;background:#ef444414}.zone-label{font-weight:600;color:#f59e0b;margin-bottom:.75rem;font-size:.95rem}.answer-comparison{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:center}.student-answer,.correct-answer{display:flex;flex-direction:column;gap:.25rem}.answer-label{font-size:.75rem;color:#9ca3af;font-weight:600;text-transform:uppercase}.answer-value{color:#e5e7eb;font-weight:500}.answer-value.empty{color:#6b7280;font-style:italic}.answer-value.filled{color:#4ade80;font-weight:600}.answer-status{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:1.25rem}.answer-status.correct{background:#22c55e33;color:#4ade80}.answer-status.incorrect{background:#ef444433;color:#f87171}.ordering-review-grid{display:grid;gap:1rem}.ordering-review-row{padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:all .2s ease}.ordering-review-row.correct{border-color:#22c55e4d;background:#22c55e14}.ordering-review-row.incorrect{border-color:#ef44444d;background:#ef444414}.item-label{font-weight:600;color:#f3f4f6;min-width:200px}.position-comparison{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;flex:1;align-items:center}.student-position,.correct-position{display:flex;flex-direction:column;gap:.25rem}.label{font-size:.75rem;color:#9ca3af;font-weight:600;text-transform:uppercase}.value{color:#e5e7eb;font-weight:600}.status{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:1.25rem}.status.correct{background:#22c55e33;color:#4ade80}.status.incorrect{background:#ef444433;color:#f87171}.sorting-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.sorting-review-zone{padding:1.5rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.75rem;transition:all .2s ease}.sorting-review-zone.correct{border-color:#22c55e4d;background:#22c55e14}.sorting-review-zone.incomplete{border-color:#ef44444d;background:#ef444414}.sorting-review-zone h5{margin:0 0 1rem;color:#f59e0b;font-weight:600}.items-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.empty-zone{color:#6b7280;font-style:italic;padding:1rem;text-align:center}.review-item{padding:.75rem;background:#11182780;border-left:3px solid rgba(245,158,11,.3);border-radius:.375rem;display:flex;justify-content:space-between;align-items:center;color:#e5e7eb;font-weight:500;transition:all .2s ease}.review-item.correct{border-left-color:#22c55e80;background:#22c55e1a}.review-item.incorrect{border-left-color:#ef444480;background:#ef44441a}.review-item .status{width:24px;height:24px;font-size:1rem;border-radius:50%;background:transparent}.correct-items{padding:1rem;background:#3b82f61a;border-left:3px solid rgba(59,130,246,.4);border-radius:.375rem}.correct-items .label{display:block;color:#60a5fa;margin-bottom:.75rem;font-size:.875rem}.missing-item{padding:.5rem;color:#e5e7eb;font-size:.875rem;margin:.25rem 0}.missing-item.missing{color:#f87171}.missing-item.found{color:#4ade80}.gap-fill-review{display:flex;flex-direction:column;gap:1.5rem}.question-text-with-gaps{padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.75rem;color:#e5e7eb;line-height:1.8;font-size:1rem}.gaps-detail{display:grid;gap:1rem}.gap-review{padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;transition:all .2s ease}.gap-review.correct{border-color:#22c55e4d;background:#22c55e14}.gap-review.incorrect{border-color:#ef44444d;background:#ef444414}.gap-number{font-weight:700;color:#f59e0b;min-width:80px}.gap-answer,.gap-correct{display:flex;flex-direction:column;gap:.25rem}.mcq-review{margin-bottom:1.5rem}.mcq-review h4{color:#f59e0b;font-size:1.125rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(245,158,11,.2)}.options-review-grid{display:grid;gap:1rem}.option-review{padding:1rem;background:#1f293780;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;transition:all .2s ease}.option-review.correct{border-color:#22c55e4d;background:#22c55e14}.option-review.incorrect{border-color:#ef44444d;background:#ef444414}.option-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.option-text{color:#e5e7eb;font-weight:500;flex:1}.option-indicators{display:flex;gap:.5rem;flex-wrap:wrap}.indicator{padding:.25rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:600;white-space:nowrap}.correct-answer{background:#22c55e33;color:#4ade80}.wrong-answer{background:#ef444433;color:#f87171}.missed{background:#3b82f633;color:#60a5fa}.option-explanation{margin:.75rem 0 0;color:#d1d5db;font-size:.875rem;line-height:1.5}.explanation-section{padding:1rem;background:#3b82f61a;border-left:4px solid rgba(59,130,246,.4);border-radius:.5rem;margin-top:1.5rem}.explanation-section h4{color:#60a5fa;margin:0 0 .75rem;font-size:1rem}.explanation-section p{color:#e5e7eb;margin:0;line-height:1.6}.attempt-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;padding:1rem;background:#f59e0b0d;border:1px solid rgba(245,158,11,.15);border-radius:.5rem;margin-top:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;color:#9ca3af;font-weight:600;text-transform:uppercase}.info-value{color:#f59e0b;font-weight:600;font-size:1rem}.review-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;border-top:1px solid rgba(245,158,11,.2);margin-top:2rem}.review-notice{color:#9ca3af;font-size:.875rem;margin:0;flex:1;text-align:right}@media(max-width:1024px){.answer-comparison,.position-comparison,.option-header,.sorting-review-grid{grid-template-columns:1fr}.review-footer{flex-direction:column;align-items:flex-start}.review-notice{text-align:left}}@media(max-width:768px){.assessment-watermark{font-size:2.5rem}.question-review-meta{flex-direction:column;gap:.75rem}.question-number{align-self:flex-start}.matching-review-row,.ordering-review-row,.gap-review{grid-template-columns:1fr}.meta-badges{gap:.25rem}.attempt-info{grid-template-columns:1fr}.question-review-header{padding:1rem}.question-review-content{padding:0 1rem 1rem}}.reviewer-queue-container{max-width:1400px;margin:2rem auto;padding:0 1rem}.reviewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.reviewer-header h1{font-size:2rem;font-weight:700;color:var(--text, #0f172a)}.reviewer-header-left{display:flex;align-items:center;gap:.75rem}.btn-dashboard{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.5rem;color:var(--primary-text, #0c4a6e);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-dashboard:hover{background:var(--primary-medium, #bbeaf8)}.btn-back-queue{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;color:var(--text-secondary, #475569);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-back-queue:hover{background:var(--border, #e2e8f0)}.queue-stats{display:flex;gap:1rem}.stat-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.5rem;color:var(--primary-text, #0c4a6e);font-weight:600}.reviewer-layout{display:grid;grid-template-columns:350px 1fr;gap:2rem}.questions-sidebar{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:1rem;padding:1.5rem;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 200px);overflow-y:auto}.questions-sidebar h2{font-size:1.25rem;font-weight:600;color:var(--text, #0f172a);margin-bottom:1rem}.empty-message{color:var(--text-muted, #94a3b8);text-align:center;padding:2rem 1rem}.questions-list-reviewer{display:grid;gap:1rem}.question-item{padding:1rem;background:var(--surface, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:.75rem;cursor:pointer;transition:all .2s}.question-item:hover{border-color:var(--primary-medium, #bbeaf8);background:var(--primary-light, #e0f5fd)}.question-item.active{border-color:var(--primary, #72d3f7);background:var(--primary-light, #e0f5fd)}.question-item-header{display:flex;gap:.5rem;margin-bottom:.75rem}.type-badge,.difficulty-badge{padding:.25rem .5rem;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.25rem;font-size:.75rem;font-weight:600;color:var(--primary-text, #0c4a6e)}.question-preview{color:var(--text, #0f172a);font-size:.875rem;margin-bottom:.5rem;line-height:1.4}.question-meta{font-size:.75rem;color:var(--text-muted, #94a3b8)}.review-panel{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:1rem;padding:2rem;max-height:calc(100vh - 200px);overflow-y:auto}.no-selection{text-align:center;padding:4rem 2rem;color:var(--text-muted, #94a3b8)}.question-review-content{margin-bottom:2rem}.question-header-review{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border, #e2e8f0)}.question-header-review h2,.question-text-review{font-size:1.5rem;font-weight:600;color:var(--text, #0f172a);margin-bottom:1rem;line-height:1.6}.question-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.375rem .75rem;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.5rem;font-size:.875rem;font-weight:600;color:var(--primary-text, #0c4a6e)}.review-image{max-width:100%;border-radius:.75rem;margin:1.5rem 0;border:1px solid var(--border, #e2e8f0)}.options-review{margin:2rem 0}.options-review h3{color:var(--text, #0f172a);font-size:1.125rem;margin-bottom:1rem}.option-review{padding:1rem;background:var(--surface-alt, #f1f5f9);border-radius:.5rem;margin-bottom:.75rem;border-left:4px solid var(--border, #e2e8f0);color:var(--text, #0f172a)}.option-review.correct{border-left-color:#059669;background:#0596690f}.option-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.option-review-header strong{color:var(--text, #0f172a);font-size:1rem}.correct-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#0596691a;border:1px solid rgba(5,150,105,.25);border-radius:.25rem;font-size:.75rem;color:#059669;font-weight:600}.option-explanation-review{color:var(--text-secondary, #475569);font-size:.875rem;line-height:1.5}.general-explanation-review,.hint-review{padding:1rem;background:var(--primary-light, #e0f5fd);border-left:4px solid var(--primary, #72d3f7);border-radius:.5rem;margin:1.5rem 0}.general-explanation-review h3,.hint-review h3{color:var(--primary-text, #0c4a6e);font-size:1rem;margin-bottom:.5rem}.general-explanation-review p,.general-explanation-review .markdown-render,.hint-review p,.hint-review .markdown-render{color:var(--text, #0f172a);line-height:1.6}.review-form{background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:.75rem;padding:1.5rem}.review-form h3{color:var(--text, #0f172a);font-size:1.25rem;margin-bottom:1.5rem}.review-form .form-group{margin-bottom:1.5rem}.review-form label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary, #475569);margin-bottom:.5rem}.review-form select,.review-form textarea{width:100%;padding:.75rem;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;color:var(--text, #0f172a);font-size:.875rem}.review-form select:focus,.review-form textarea:focus{outline:none;border-color:var(--primary, #72d3f7);box-shadow:0 0 0 3px var(--primary-glow, rgba(114, 211, 247, .25))}.rating-selector{display:flex;gap:.5rem}.rating-btn{width:48px;height:48px;background:var(--surface, #ffffff);border:2px solid var(--border, #e2e8f0);border-radius:.5rem;color:var(--text-muted, #94a3b8);font-weight:600;cursor:pointer;transition:all .2s}.rating-btn:hover{border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e)}.rating-btn.active{background:var(--primary, #72d3f7);border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e)}.review-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-cancel-review{padding:.75rem 1.5rem;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;color:var(--text-secondary, #475569);font-weight:600;cursor:pointer;transition:background .2s}.btn-cancel-review:hover{background:var(--surface-alt, #f1f5f9)}.btn-submit-review{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);border:none;border-radius:.5rem;color:var(--primary-text, #0c4a6e);font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px var(--primary-glow, rgba(114, 211, 247, .3))}.btn-submit-review:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--primary-glow, rgba(114, 211, 247, .4))}.loading{text-align:center;padding:4rem;color:var(--text-muted, #94a3b8);font-size:1.125rem}.reviewer-toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999}.reviewer-toast{padding:.75rem 1.25rem;border-radius:8px;font-weight:500;box-shadow:0 4px 12px #0000001a}.reviewer-bulk-bar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:12px;box-shadow:0 8px 24px #0000001a;z-index:1000}.reviewer-bulk-bar span{color:var(--text-secondary, #475569);font-size:.9rem}.btn-bulk-approve,.btn-bulk-skip{padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-bulk-approve{background:#059669;color:#fff;border:none}.btn-bulk-approve:hover{background:#047857}.btn-bulk-skip{background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569);border:1px solid var(--border, #e2e8f0)}.btn-bulk-skip:hover{background:var(--border, #e2e8f0)}.shortcuts-toggle{display:flex;align-items:center;gap:.4rem;justify-content:space-between;width:100%;padding:.5rem .75rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;color:var(--text-muted, #64748b);font-size:.85rem;cursor:pointer;margin-bottom:.5rem;transition:background .2s}.shortcuts-toggle:hover{background:var(--primary-light, #e0f5fd);border-color:var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}.shortcuts-panel{padding:.75rem;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:.5rem;margin-bottom:1rem;font-size:.8rem;color:var(--text-secondary, #475569)}.shortcuts-panel .shortcuts-item{margin:.25rem 0}.shortcuts-panel kbd{display:inline-block;padding:.1rem .35rem;margin-right:.35rem;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:4px;font-family:monospace;font-size:.78rem;color:var(--text, #0f172a)}.question-item-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.question-checkbox{flex-shrink:0;cursor:pointer;accent-color:var(--primary, #72d3f7)}.difficulty-badge.diff-easy{background:#05966914;border-color:#05966933;color:#059669}.difficulty-badge.diff-medium{background:var(--primary-light, #e0f5fd);border-color:var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}.difficulty-badge.diff-hard{background:#dc262614;border-color:#dc262633;color:#dc2626}.decision-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.decision-btn{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.decision-btn:hover{opacity:.85}.star-rating-container{display:flex;gap:.25rem}.star-btn{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1.5rem;transition:transform .15s}.star-btn:hover{transform:scale(1.15)}.feedback-counter{font-size:.8rem;margin-top:.35rem}.review-panel-header{display:flex;justify-content:flex-end;margin-bottom:1rem}.timer-display{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;color:var(--text-muted, #94a3b8)}.similar-clean{margin:1rem 0;padding:.5rem 1rem;font-size:.82rem;color:#059669;background:#0596690f;border:1px solid rgba(5,150,105,.2);border-radius:.5rem;display:flex;align-items:center;gap:.4rem}.similar-loading{margin:1rem 0;padding:.6rem 1rem;font-size:.85rem;color:var(--text-muted, #64748b);background:var(--primary-light, #e0f5fd);border:1px dashed var(--primary-medium, #bbeaf8);border-radius:.5rem;display:flex;align-items:center;gap:.4rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.similar-panel{margin:1.5rem 0;border:1px solid var(--primary-medium, #bbeaf8);background:var(--primary-light, #e0f5fd);border-radius:.75rem;overflow:hidden}.similar-toggle{display:flex;align-items:center;gap:.4rem;justify-content:space-between;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--primary-text, #0c4a6e);font-weight:600;cursor:pointer;text-align:left}.similar-list{padding:0 1rem 1rem}.similar-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border, #e2e8f0)}.similar-item:last-child{border-bottom:none}.similar-preview{flex:1;margin:0;font-size:.875rem;color:var(--text-secondary, #475569)}.btn-view-similar{padding:.35rem .75rem;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);border-radius:.5rem;color:var(--primary-text, #0c4a6e);font-size:.8rem;cursor:pointer;transition:background .2s}.btn-view-similar:hover{background:var(--primary-medium, #bbeaf8)}.reviewer-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9998}.reviewer-modal{width:90vw;max-width:680px;max-height:85vh;overflow-y:auto;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:1rem;padding:1.75rem;position:relative;box-shadow:0 16px 48px #0000001f}.reviewer-modal--full{max-width:760px}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;transition:color .2s}.modal-close:hover{color:var(--text, #0f172a)}.modal-header-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.modal-context{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--text-muted, #64748b);margin:.15rem 0 .5rem}.modal-section-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted, #64748b);margin:1.25rem 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border, #e2e8f0)}.modal-question-text{color:var(--text, #0f172a);line-height:1.7;font-size:.97rem}.modal-options{display:flex;flex-direction:column;gap:.5rem}.modal-option{padding:.65rem .9rem;border-radius:.5rem;border:1px solid var(--border, #e2e8f0);background:var(--surface-alt, #f1f5f9);color:var(--text, #0f172a);font-size:.9rem}.modal-option--correct{border-color:#0596694d;background:#0596690f}.modal-option-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.modal-option-text{line-height:1.5;color:var(--text, #0f172a)}.modal-option-explanation{margin-top:.4rem;font-size:.82rem;color:var(--text-muted, #64748b);padding-top:.3rem;border-top:1px solid var(--border, #e2e8f0)}.modal-explanation,.modal-hint{background:var(--surface-alt, #f1f5f9);border-radius:.5rem;padding:.75rem 1rem;color:var(--text, #0f172a);font-size:.9rem;line-height:1.6;border:1px solid var(--border, #e2e8f0)}.modal-hint{border-left:3px solid var(--primary, #72d3f7)}.modal-loading{color:var(--text-muted, #64748b);font-size:.85rem;font-style:italic;margin:1rem 0}.modal-meta{margin-top:1.25rem;font-size:.78rem;color:var(--text-muted, #64748b);padding-top:.75rem;border-top:1px solid var(--border, #e2e8f0)}@media(max-width:1024px){.reviewer-layout{grid-template-columns:1fr}.questions-sidebar{max-height:400px}}.instructor-analytics-container{max-width:1400px;margin:2rem auto;padding:0 1rem}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.analytics-header h1{font-size:2rem;font-weight:700;color:#f59e0b}.course-selector{padding:.75rem 1rem;background:#11182799;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f3f4f6;font-size:.875rem;min-width:250px}.course-selector:focus{outline:none;border-color:#f59e0b80}.analytics-section{background:#11182799;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(245,158,11,.2);border-radius:1rem;padding:2rem;margin-bottom:2rem}.analytics-section h2{font-size:1.5rem;font-weight:600;color:#f59e0b;margin-bottom:1.5rem}.empty-message{text-align:center;padding:2rem;color:#9ca3af}.stuck-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.stuck-student-card{background:#1f293780;border:2px solid rgba(239,68,68,.3);border-radius:.75rem;padding:1.5rem}.student-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(245,158,11,.1)}.student-header h3{font-size:1.125rem;font-weight:600;color:#f3f4f6;margin-bottom:.25rem}.student-email{font-size:.875rem;color:#9ca3af}.days-badge{padding:.375rem .75rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:.5rem;font-size:.875rem;font-weight:600;color:#f87171}.student-module{margin-bottom:1rem;color:#d1d5db;font-size:.875rem}.student-progress{display:grid;gap:.5rem;margin-bottom:1rem}.progress-item{display:flex;justify-content:space-between;padding:.5rem;background:#11182780;border-radius:.375rem;font-size:.875rem}.progress-item span:first-child{color:#9ca3af}.progress-value{color:#f59e0b;font-weight:600}.blocking-reasons{margin-bottom:1rem;padding:1rem;background:#ef44441a;border-left:4px solid #ef4444;border-radius:.5rem}.blocking-reasons strong{display:block;color:#f87171;margin-bottom:.5rem;font-size:.875rem}.blocking-reasons ul{list-style:none;padding:0;margin:0}.blocking-reasons li{color:#d1d5db;font-size:.875rem;padding:.25rem 0 .25rem 1rem;position:relative}.blocking-reasons li:before{content:"•";position:absolute;left:0;color:#ef4444}.btn-view-student{width:100%;padding:.75rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:.5rem;color:#f59e0b;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-student:hover{background:#f59e0b33}.designer-metrics-section h2{margin-bottom:1rem}.designer-metrics-grid{display:flex;flex-wrap:wrap;gap:1rem}.metric-card{background:#1f293799;border:1px solid rgba(245,158,11,.25);border-radius:.75rem;padding:1rem 1.5rem;min-width:100px;text-align:center}.metric-card .metric-value{display:block;font-size:1.5rem;font-weight:700;color:#f59e0b}.metric-card .metric-label{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.at-risk-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.at-risk-tab{padding:.5rem 1rem;background:#1f293799;border:1px solid rgba(245,158,11,.2);border-radius:.5rem;color:#9ca3af;font-weight:500;cursor:pointer;transition:all .2s}.at-risk-tab:hover{color:#f59e0b;border-color:#f59e0b66}.at-risk-tab.active{background:#f59e0b26;border-color:#f59e0b66;color:#f59e0b}.score-badge{padding:.375rem .75rem;background:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:.5rem;font-size:.875rem;font-weight:600;color:#f59e0b}.low-performer-card{border-color:#f59e0b66}.inactive-card{border-color:#6b728066}.inactive-note{font-size:.875rem;color:#9ca3af;margin-bottom:1rem}.bottleneck-list{display:grid;gap:1.5rem}.bottleneck-card{background:#1f293780;border:2px solid rgba(239,68,68,.3);border-radius:.75rem;padding:1.5rem}.bottleneck-header{display:flex;justify-content:space-between;gap:2rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(245,158,11,.1)}.bottleneck-header h3{font-size:1.125rem;font-weight:600;color:#f3f4f6;line-height:1.5}.question-id{font-size:.75rem;color:#6b7280;display:block;margin-top:.25rem}.bottleneck-stats{display:flex;gap:1rem;flex-shrink:0}.stat-item{text-align:center;padding:.75rem;background:#11182780;border-radius:.5rem;min-width:80px}.stat-item.danger{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.stat-label{display:block;font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:#f59e0b}.stat-item.danger .stat-value{color:#f87171}.option-distribution{margin-bottom:1.5rem;padding:1rem;background:#11182780;border-radius:.5rem}.option-distribution strong{display:block;color:#f59e0b;margin-bottom:1rem;font-size:.875rem}.option-stats-grid{display:grid;gap:.75rem}.option-stat{display:grid;gap:.5rem}.option-stat-text{color:#d1d5db;font-size:.875rem}.option-stat-bar{height:8px;background:#1f293780;border-radius:.5rem;overflow:hidden}.option-stat-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);transition:width .3s ease}.correct-option-stat .option-stat-fill{background:linear-gradient(90deg,#34d399,#10b981)}.option-stat-percent{font-size:.75rem;color:#9ca3af}.correct-indicator{color:#4ade80;font-weight:700}.feedback-alert{padding:.75rem;background:#ef44441a;border-left:4px solid #ef4444;border-radius:.5rem;color:#f87171;font-size:.875rem;margin-bottom:1rem}.bottleneck-actions{display:flex;gap:1rem}.btn-view-question,.btn-schedule-session{flex:1;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-view-question{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.btn-view-question:hover{background:#f59e0b33}.btn-schedule-session{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#60a5fa}.btn-schedule-session:hover{background:#3b82f633}.loading{text-align:center;padding:4rem;color:#9ca3af;font-size:1.125rem}@media(max-width:1024px){.stuck-students-grid{grid-template-columns:1fr}.bottleneck-header{flex-direction:column;gap:1rem}.bottleneck-stats{width:100%;justify-content:space-between}.bottleneck-actions{flex-direction:column}}.security-dashboard{max-width:1200px;margin:0 auto;padding:1.5rem}.security-dashboard-header{margin-bottom:1.5rem}.security-dashboard-header h1{color:var(--text-primary, #1a1a1a);margin-bottom:.5rem}.security-dashboard-header .subtitle{color:var(--text-secondary, #666);font-size:.95rem}.security-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;align-items:center}.security-filters input,.security-filters select{padding:.5rem .75rem;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:.9rem}.security-filters .btn-apply{padding:.5rem 1rem;background:var(--primary, #2563eb);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.security-filters .btn-apply:hover{opacity:.9}.security-error{color:var(--error, #b91c1c);padding:1rem;margin-bottom:1rem;background:#fef2f2;border-radius:8px}.security-loading{padding:2rem;text-align:center;color:var(--text-secondary)}.security-table-wrap{overflow-x:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:8px}.security-table{width:100%;border-collapse:collapse;font-size:.875rem}.security-table th,.security-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, #e5e7eb)}.security-table th{background:var(--bg-secondary, #f9fafb);font-weight:600;color:var(--text-primary)}.security-table tbody tr:hover{background:var(--bg-hover, #f3f4f6)}.security-table .details-json{margin:0;font-size:.75rem;max-width:280px;overflow:auto;white-space:pre-wrap;word-break:break-all}.security-table .badge{padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.security-table .badge-info{background:#dbeafe;color:#1e40af}.security-table .badge-warning{background:#fef3c7;color:#92400e}.security-table .badge-critical{background:#fee2e2;color:#b91c1c}.security-table tr.severity-warning{border-left:3px solid #f59e0b}.security-table tr.severity-critical{border-left:3px solid #dc2626}.srs-page{max-width:820px;margin:0 auto;padding:2rem 1.25rem 4rem;animation:srsFadeIn .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes srsFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.srs-page-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem}.srs-page-header-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ea580c40,#fbbf2426);border:1px solid rgba(234,88,12,.3);color:var(--dash-primary);flex-shrink:0}.srs-page-title{font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:700;color:var(--dash-text);letter-spacing:-.02em}.srs-page-subtitle{font-size:.8rem;color:var(--dash-text-muted);margin-top:.1rem}.srs-landing-hero{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;margin-bottom:1.5rem}@media(max-width:520px){.srs-landing-hero{grid-template-columns:1fr}}.srs-due-box{display:flex;flex-direction:column;gap:.35rem}.srs-due-number{font-family:Outfit,sans-serif;font-size:clamp(3.5rem,10vw,5.5rem);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--dash-primary),var(--dash-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.srs-due-label{font-size:1rem;color:var(--dash-text-muted);font-weight:500}.srs-all-caught-up{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;border-radius:8px;background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:#22c55e;font-size:.85rem;width:-moz-fit-content;width:fit-content}.srs-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:.4rem}.srs-ring-label{font-size:.75rem;color:var(--dash-text-muted);text-align:center}.srs-ring{position:relative;width:108px;height:108px}.srs-ring svg{transform:rotate(-90deg)}.srs-ring-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.srs-ring-pct{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;color:var(--dash-text);line-height:1}.srs-ring-sub{font-size:.6rem;color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.04em}.srs-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:480px){.srs-stats-grid{grid-template-columns:repeat(2,1fr)}}.srs-stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;border-radius:12px;background:var(--dash-glass);border:1px solid var(--dash-glass-border)}.srs-stat-card-value{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;color:var(--dash-text);line-height:1.1}.srs-stat-card-label{font-size:.73rem;color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.05em}.srs-start-area{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.srs-session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.srs-session-counter{font-size:.85rem;color:var(--dash-text-muted);font-family:JetBrains Mono,monospace}.srs-progress-track{height:4px;border-radius:2px;background:#fb923c1a;margin-bottom:1.75rem;overflow:hidden}.srs-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--dash-primary),var(--dash-accent));transition:width .4s cubic-bezier(.22,1,.36,1)}.srs-card-scene{animation:srsCardEnter .22s cubic-bezier(.22,1,.36,1) both}@keyframes srsCardEnter{0%{opacity:0}to{opacity:1}}.srs-card{position:relative;width:100%;min-height:520px;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.4,0,.2,1)}.srs-card--flipped{transform:perspective(1000px) rotateY(180deg)}.srs-card-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--dash-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--dash-glass-border);border-radius:20px;padding:2rem;overflow-y:auto;display:flex;flex-direction:column}.srs-card-face::-webkit-scrollbar{width:4px}.srs-card-face::-webkit-scrollbar-thumb{background:var(--dash-glass-border);border-radius:2px}.srs-card-back{transform:rotateY(180deg)}.srs-card-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.srs-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent}.srs-badge-easy{color:#22c55e;background:#22c55e1a;border-color:#22c55e33}.srs-badge-medium{color:#eab308;background:#eab3081a;border-color:#eab30833}.srs-badge-hard{color:#ef4444;background:#ef44441a;border-color:#ef444433}.srs-badge-mcq{color:#60a5fa;background:#60a5fa1a;border-color:#60a5fa33}.srs-badge-msq{color:#c084fc;background:#c084fc1a;border-color:#c084fc33}.srs-badge-drag{color:#fb923c;background:#fb923c1a;border-color:#fb923c33}.srs-question-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:1rem 0}.srs-question-text{font-size:1.05rem;line-height:1.7;color:var(--dash-text)}.srs-show-btn{margin-top:auto;padding-top:1.5rem;display:flex;justify-content:center}.srs-answer-section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dash-text-muted);margin-bottom:.75rem}.srs-options-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.srs-option{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--dash-glass-border);background:#29252466;transition:border-color .15s ease,background .15s ease}.srs-option--correct{border-color:#22c55e66;background:#22c55e14}.srs-option--incorrect{opacity:.45}.srs-option-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--dash-glass-border);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center}.srs-option--correct .srs-option-dot{border-color:#22c55e;background:#22c55e26}.srs-option-dot-inner{width:8px;height:8px;border-radius:50%;background:#22c55e}.srs-option-text{font-size:.9rem;color:var(--dash-text-secondary);line-height:1.5}.srs-option--correct .srs-option-text{color:var(--dash-text);font-weight:500}.srs-option-label{width:22px;height:22px;border-radius:6px;border:1px solid rgba(251,146,60,.2);background:#fb923c0f;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--dash-text-muted);font-family:JetBrains Mono,monospace;margin-top:1px}.srs-explanation{padding:.75rem 1rem;border-radius:10px;background:#fbbf240d;border:1px solid rgba(251,191,36,.12);margin-bottom:1.5rem}.srs-explanation-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dash-accent);margin-bottom:.35rem}.srs-explanation-text{font-size:.875rem;color:var(--dash-text-muted);line-height:1.6}.srs-dragdrop-notice{padding:1rem;border-radius:10px;background:#fb923c12;border:1px dashed rgba(251,146,60,.2);font-size:.85rem;color:var(--dash-text-muted);text-align:center;margin-bottom:1rem}.srs-detail-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.srs-skeleton-line{height:14px;border-radius:7px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff12,#ffffff08 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.srs-recall-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dash-text-muted);margin-bottom:.6rem;margin-top:auto;padding-top:1rem}.srs-quality-btns{display:flex;gap:.5rem;flex-wrap:wrap}.srs-quality-btn{flex:1;min-width:80px;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .4rem;border-radius:12px;border:1px solid transparent;background:#29252499;cursor:pointer;font-family:Figtree,sans-serif;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.srs-quality-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000059}.srs-quality-btn:active{transform:translateY(0) scale(.96)}.srs-quality-btn-emoji{font-size:1.5rem;line-height:1}.srs-quality-btn-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.srs-quality-btn-key{font-size:.6rem;color:var(--dash-text-muted);font-family:JetBrains Mono,monospace;opacity:.7}.srs-shortcuts-hint{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;display:flex;align-items:center;gap:.45rem;padding:.45rem .75rem;background:#12100eeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--dash-glass-border);border-radius:8px;font-size:.72rem;color:var(--dash-text-muted);animation:srsHintFadeIn .5s ease forwards;pointer-events:none}@keyframes srsHintFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.srs-complete{text-align:center}.srs-complete-emoji{font-size:3.5rem;margin-bottom:.5rem;display:block;animation:srsPopIn .45s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes srsPopIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.srs-complete-title{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700;color:var(--dash-text);margin-bottom:.25rem}.srs-complete-sub{font-size:.9rem;color:var(--dash-text-muted);margin-bottom:2rem}.srs-session-pills{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2rem}.srs-session-pill{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.5rem;border-radius:14px;background:var(--dash-glass);border:1px solid var(--dash-glass-border);min-width:100px}.srs-session-pill-value{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700;color:var(--dash-text);line-height:1}.srs-session-pill-label{font-size:.72rem;color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.05em}.srs-chart-wrap{margin:0 auto 2rem;max-width:480px;text-align:left}.srs-chart-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dash-text-muted);margin-bottom:.75rem}.srs-complete-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.srs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1rem;color:var(--dash-text-muted)}.srs-spinner{width:36px;height:36px;border:3px solid rgba(234,88,12,.2);border-top-color:var(--dash-primary);border-radius:50%;animation:spin .8s linear infinite}.srs-widget-due{display:flex;align-items:baseline;gap:.4rem;margin:.5rem 0 .6rem}.srs-widget-due-number{font-family:Outfit,sans-serif;font-size:2.25rem;font-weight:800;color:var(--dash-text);line-height:1}.srs-widget-due-label{font-size:.85rem;color:var(--dash-text-muted)}.srs-widget-retention{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:20px;font-size:.75rem;font-weight:600;background:#0f766e26;border:1px solid rgba(15,118,110,.25);color:#2dd4bf;margin-bottom:1rem}.cgp-page{max-width:1440px;margin:0 auto;padding:1.5rem 1.25rem 4rem;animation:cgpFadeIn .35s cubic-bezier(.22,1,.36,1) both}@keyframes cgpFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cgp-topbar{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.cgp-topbar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.cgp-header-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--primary-text, #0c4a6e)}.cgp-title{font-family:Outfit,sans-serif;font-size:1.45rem;font-weight:700;color:var(--dash-text, #0f172a);letter-spacing:-.02em;line-height:1.2}.cgp-subtitle{font-size:.76rem;color:var(--dash-text-muted, #94a3b8);margin-top:.08rem}.cgp-topbar-back{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--dash-text-muted, #94a3b8);text-decoration:none;transition:color .16s;white-space:nowrap;flex-shrink:0}.cgp-topbar-back:hover{color:var(--dash-primary, #72d3f7)}.cgp-selector-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.cgp-selector-wrap{position:relative;flex:1;max-width:420px;min-width:200px}.cgp-selector-box{display:flex;align-items:center;gap:.5rem;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:.55rem .85rem;transition:border-color .18s;box-shadow:var(--shadow-xs)}.cgp-selector-box:focus-within{border-color:var(--primary, #72d3f7)}.cgp-sel-icon{color:var(--dash-text-muted, #94a3b8);flex-shrink:0}.cgp-sel-input{flex:1;background:transparent;border:none;outline:none;color:var(--dash-text, #0f172a);font-size:.88rem;min-width:0}.cgp-sel-input::-moz-placeholder{color:var(--dash-text-muted, #94a3b8)}.cgp-sel-input::placeholder{color:var(--dash-text-muted, #94a3b8)}.cgp-sel-clear{background:none;border:none;cursor:pointer;color:var(--dash-text-muted, #94a3b8);display:flex;align-items:center;padding:0}.cgp-sel-clear:hover{color:var(--dash-text, #0f172a)}.cgp-dropdown{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;max-height:240px;overflow-y:auto;z-index:200;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(15,23,42,.08))}.cgp-dd-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .9rem;cursor:pointer;font-size:.86rem;color:var(--dash-text-secondary, #475569);transition:background .12s;gap:.5rem}.cgp-dd-item:hover,.cgp-dd-item--active{background:var(--primary-light, #e0f5fd);color:var(--dash-text, #0f172a)}.cgp-dd-mastered{font-size:.65rem;padding:.12rem .4rem;border-radius:5px;background:#d1fae5;color:#065f46;font-weight:600;white-space:nowrap}.cgp-dd-empty{padding:.9rem;text-align:center;font-size:.83rem;color:var(--dash-text-muted, #94a3b8)}.cgp-mode-toggle{display:flex;background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden;flex-shrink:0;box-shadow:var(--shadow-xs)}.cgp-mode-btn{display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.78rem;font-weight:600;border:none;background:transparent;color:var(--dash-text-muted, #94a3b8);cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.cgp-mode-btn:hover{color:var(--dash-text, #0f172a);background:var(--surface-alt, #f1f5f9)}.cgp-mode-btn--active{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e)}.cgp-layout{display:grid;grid-template-columns:1fr 300px;gap:1rem;align-items:start}@media(max-width:880px){.cgp-layout{grid-template-columns:1fr}}.cgp-graph-wrap{position:relative;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:16px;overflow:hidden;height:calc(100vh - 260px);min-height:580px;max-height:780px;box-shadow:var(--shadow-sm)}.cgp-graph-wrap:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(114,211,247,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(114,211,247,.07) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.cgp-graph-toolbar{position:absolute;top:10px;right:10px;z-index:10;display:flex;gap:.4rem}.cgp-graph-action{display:flex;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.74rem;font-weight:600;border-radius:7px;border:1px solid var(--border, #e2e8f0);background:#ffffffeb;color:var(--text-secondary, #475569);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .16s,color .16s,background .16s;box-shadow:var(--shadow-xs)}.cgp-graph-action:hover{border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);background:var(--primary-light, #e0f5fd)}.cgp-graph-svg{display:block;width:100%;height:calc(100vh - 260px);min-height:580px;max-height:780px;position:relative;z-index:1;cursor:grab}.cgp-graph-svg:active{cursor:grabbing}.cgp-legend{position:absolute;bottom:10px;left:10px;z-index:10;background:#fffffff0;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:.55rem .7rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:.28rem;box-shadow:var(--shadow-sm)}.cgp-legend-title{font-size:.62rem;font-weight:700;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.15rem}.cgp-legend-row{display:flex;align-items:center;gap:.45rem;font-size:.68rem;color:var(--text-secondary, #475569);white-space:nowrap}.cgp-legend-swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0;border:1.5px solid transparent}.cgp-legend-divider{height:1px;background:var(--border, #e2e8f0);margin:.25rem 0}.cgp-tooltip{position:fixed;pointer-events:none;background:#fffffff7;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:.6rem .85rem;z-index:300;box-shadow:var(--shadow-lg);min-width:150px;transform:translate(14px,-50%)}.cgp-tt-name{font-size:.83rem;font-weight:700;color:var(--text, #0f172a);margin-bottom:.3rem}.cgp-tt-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;color:var(--text-secondary, #475569)}.cgp-tt-badge{padding:.1rem .38rem;border-radius:5px;font-size:.67rem;font-weight:700}.cgp-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;min-height:540px;color:var(--dash-text-muted, #94a3b8);text-align:center;padding:2rem;position:relative;z-index:1}.cgp-empty-icon{width:60px;height:60px;border-radius:50%;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);display:flex;align-items:center;justify-content:center;color:var(--primary, #72d3f7);opacity:.8}.cgp-empty-title{font-size:.95rem;font-weight:600;color:var(--dash-text-secondary, #475569)}.cgp-empty-sub{font-size:.8rem;color:var(--dash-text-muted, #94a3b8);max-width:280px}.cgp-skeleton-wrap{height:calc(100vh - 260px);min-height:580px;max-height:780px;background:var(--surface-alt, #f1f5f9);border-radius:16px;border:1px solid var(--border, #e2e8f0);overflow:hidden;position:relative}.cgp-skel-svg{display:block;width:100%;height:100%}.cgp-skel-pulse{animation:cgpPulse 1.8s ease-in-out infinite}@keyframes cgpPulse{0%,to{opacity:.35}50%{opacity:.7}}.cgp-sidebar{display:flex;flex-direction:column;gap:.9rem}.cgp-path-panel{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:1.1rem;box-shadow:var(--shadow-sm)}.cgp-panel-head{display:flex;align-items:center;gap:.45rem;font-family:Outfit,sans-serif;font-size:.92rem;font-weight:700;color:var(--dash-text, #0f172a);margin-bottom:.75rem}.cgp-panel-icon{color:var(--dash-primary, #72d3f7)}.cgp-progress-label{display:flex;justify-content:space-between;font-size:.73rem;color:var(--dash-text-muted, #94a3b8);margin-bottom:.38rem}.cgp-progress-track{height:4px;border-radius:99px;background:var(--surface-alt, #f1f5f9);overflow:hidden;margin-bottom:.9rem}.cgp-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--dash-primary, #72d3f7),var(--dash-accent, #f59e0b));transition:width .5s cubic-bezier(.22,1,.36,1)}.cgp-steps{display:flex;flex-direction:column;max-height:340px;overflow-y:auto}.cgp-step{display:flex;align-items:flex-start;gap:.55rem;padding:.42rem 0;position:relative}.cgp-step:not(:last-child):after{content:"";position:absolute;left:9px;top:27px;bottom:-1px;width:2px;background:var(--border, #e2e8f0)}.cgp-step--done:after{background:#d1fae5}.cgp-step-dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;z-index:1;margin-top:2px}.cgp-step-dot--done{background:#d1fae5;border:1.5px solid #22c55e;color:#15803d}.cgp-step-dot--current{background:var(--primary-light, #e0f5fd);border:1.5px solid var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);animation:cgpPing 2s ease-out infinite}.cgp-step-dot--locked{background:var(--surface-alt, #f1f5f9);border:1.5px solid var(--border, #e2e8f0);color:var(--text-muted, #94a3b8)}@keyframes cgpPing{0%,to{box-shadow:0 0 #72d3f780}50%{box-shadow:0 0 0 5px #72d3f700}}.cgp-step-body{flex:1;min-width:0}.cgp-step-name{font-size:.8rem;font-weight:600;color:var(--dash-text, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cgp-step-name:hover{color:var(--dash-primary, #72d3f7)}.cgp-step--done .cgp-step-name{color:var(--dash-text-muted, #94a3b8);text-decoration:line-through;text-decoration-color:#64748b59}.cgp-step-pills{display:flex;align-items:center;gap:.35rem;margin-top:.18rem}.cgp-pill{font-size:.62rem;padding:.09rem .38rem;border-radius:5px;font-weight:600}.cgp-pill--mastered{background:#d1fae5;color:#065f46}.cgp-pill--advanced{background:#ccfbf1;color:#0f766e}.cgp-pill--inter{background:#fef3c7;color:#92400e}.cgp-pill--beginner{background:#dbeafe;color:#1e40af}.cgp-pill--none{background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569)}.cgp-start-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%;margin-top:.9rem;padding:.55rem;border-radius:9px;border:none;background:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .16s}.cgp-start-btn:hover{background:var(--primary-hover, #4ec9f5)}.cgp-path-skel{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem}.cgp-skel-bar{height:13px;border-radius:7px;background:var(--surface-alt, #f1f5f9);animation:cgpPulse 1.8s ease-in-out infinite}.cgp-recommended{margin-top:1.25rem}.cgp-section-title{display:flex;align-items:center;gap:.45rem;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;color:var(--dash-text, #0f172a);margin-bottom:.9rem}.cgp-rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}.cgp-rec-card{background:var(--surface, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:13px;padding:.9rem;box-shadow:var(--shadow-xs);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s}.cgp-rec-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--primary, #72d3f7)}.cgp-rec-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.4rem;margin-bottom:.45rem}.cgp-rec-name{font-size:.85rem;font-weight:700;color:var(--dash-text, #0f172a);line-height:1.3}.cgp-diff{font-size:.63rem;padding:.12rem .38rem;border-radius:5px;font-weight:700;white-space:nowrap;flex-shrink:0}.cgp-diff--beginner{background:#dbeafe;color:#1e40af}.cgp-diff--intermediate{background:#fef3c7;color:#92400e}.cgp-diff--advanced{background:#ccfbf1;color:#0f766e}.cgp-rec-meta{display:flex;flex-direction:column;gap:.22rem;margin-bottom:.65rem}.cgp-rec-meta-row{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--dash-text-muted, #94a3b8)}.cgp-rec-btn{display:flex;align-items:center;justify-content:center;gap:.28rem;width:100%;padding:.42rem;border-radius:7px;border:1px solid var(--primary-medium, #bbeaf8);background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);font-size:.76rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .14s,border-color .14s}.cgp-rec-btn:hover{background:var(--primary-medium, #bbeaf8);border-color:var(--primary, #72d3f7)}.cgp-rec-skel{display:flex;gap:.8rem}.cgp-rec-skel-card{flex:1;min-width:160px;height:110px;border-radius:13px;background:var(--surface-alt, #f1f5f9);border:1px solid var(--border, #e2e8f0);animation:cgpPulse 1.8s ease-in-out infinite}.mi-page,.mi-session,.mi-debrief{--mi-primary: var(--primary, #72d3f7);--mi-primary-dark: var(--primary-hover, #4ec9f5);--mi-primary-glow: var(--primary-glow, rgba(114, 211, 247, .25));--mi-primary-text: var(--primary-text, #0c4a6e);--mi-teal: #14b8a6;--mi-green: #22c55e;--mi-amber: var(--primary, #72d3f7);--mi-red: #ef4444;--mi-blue: #3b82f6;--mi-bg: var(--bg, #fafafe);--mi-bg2: var(--surface, #ffffff);--mi-bg3: var(--surface-alt, #f1f5f9);--mi-bg4: var(--border, #e2e8f0);--mi-text: var(--text, #0f172a);--mi-text-2: var(--text-secondary, #475569);--mi-text-muted: var(--text-muted, #94a3b8);--mi-border: var(--border, #e2e8f0);--mi-border-hover: var(--primary, #72d3f7);--mi-glass: rgba(255, 255, 255, .9);--mi-ease: cubic-bezier(.22, 1, .36, 1);font-family:Figtree,Inter,sans-serif;color:var(--mi-text);background:var(--mi-bg);min-height:100vh}.mi-page{padding-top:0rem}.mi-setup-hero{max-width:680px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.mi-badge-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.mi-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:999px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--mi-primary-text);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.mi-setup-title{font-family:Outfit,Figtree,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;margin:0 0 .5rem;background:linear-gradient(135deg,var(--mi-text) 0%,var(--mi-text-2) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mi-setup-sub{color:var(--mi-text-muted);font-size:.9375rem;line-height:1.6;margin:0 0 2rem}.mi-config-card{background:var(--mi-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--mi-border);border-radius:18px;padding:2rem;margin-bottom:2rem}.mi-field{margin-bottom:1.5rem}.mi-field:last-child{margin-bottom:0}.mi-label{display:block;font-size:.8125rem;font-weight:600;color:var(--mi-text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem}.mi-select-wrap{position:relative}.mi-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--mi-bg3);border:1px solid var(--mi-border);border-radius:10px;padding:.75rem 2.5rem .75rem 1rem;font-family:inherit;font-size:.9375rem;color:var(--mi-text);cursor:pointer;transition:border-color .2s;outline:none}.mi-select:focus,.mi-select:hover{border-color:var(--mi-border-hover)}.mi-select-icon{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--mi-text-muted);pointer-events:none}.mi-diff-group{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.mi-diff-btn{padding:.65rem;border-radius:10px;border:1px solid var(--mi-border);background:var(--mi-bg3);color:var(--mi-text-muted);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s var(--mi-ease);text-align:center}.mi-diff-btn:hover:not(.active){border-color:var(--mi-border-hover);color:var(--mi-text)}.mi-diff-btn.active-easy{background:#0596691a;border-color:#059669;color:#059669}.mi-diff-btn.active-medium{background:var(--primary-light, #e0f5fd);border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e)}.mi-diff-btn.active-hard{background:#dc26261a;border-color:#dc2626;color:#dc2626}.mi-radio-group{display:flex;gap:.75rem}.mi-radio-label{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1rem;border-radius:10px;border:1px solid var(--mi-border);background:var(--mi-bg3);color:var(--mi-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s var(--mi-ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mi-radio-label:has(input:checked){background:var(--primary-light, #e0f5fd);border-color:var(--mi-primary);color:var(--mi-primary-text)}.mi-radio-label input{accent-color:var(--mi-primary)}.mi-start-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 2rem;border-radius:12px;border:none;background:linear-gradient(135deg,var(--mi-primary-dark) 0%,var(--mi-primary) 100%);color:var(--mi-primary-text);font-family:"Outfit",inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s var(--mi-ease),box-shadow .2s var(--mi-ease);box-shadow:0 4px 20px var(--mi-primary-glow)}.mi-start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px var(--primary-glow, rgba(114, 211, 247, .45))}.mi-start-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.mi-error{margin-top:.75rem;padding:.65rem 1rem;border-radius:8px;background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#dc2626;font-size:.875rem}.mi-past-section{max-width:680px;margin:0 auto 4rem;padding:0 1.25rem}.mi-section-title{font-size:.8rem;font-weight:700;color:var(--mi-text-muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:1rem}.mi-past-list{display:flex;flex-direction:column;gap:.6rem}.mi-past-item{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:1rem;padding:.9rem 1.2rem;background:var(--mi-glass);border:1px solid var(--mi-border);border-radius:12px;transition:border-color .2s;cursor:default}.mi-past-item:hover{border-color:var(--mi-border-hover)}.mi-past-meta{display:flex;flex-direction:column;gap:.2rem}.mi-past-topic{font-weight:600;font-size:.9375rem}.mi-past-date{font-size:.78rem;color:var(--mi-text-muted)}.mi-past-score{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;color:var(--mi-primary-text);white-space:nowrap}.mi-past-score.no-score{font-size:.8rem;color:var(--mi-text-muted)}.mi-hire-badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.mi-hire-badge.strong_yes{background:#0596691a;color:#059669;border:1px solid rgba(5,150,105,.25)}.mi-hire-badge.yes{background:#0d94881a;color:#0d9488;border:1px solid rgba(13,148,136,.25)}.mi-hire-badge.maybe{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8)}.mi-hire-badge.no{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.mi-past-diff{font-size:.7rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.mi-past-diff.EASY{background:#0596691a;color:#059669}.mi-past-diff.MEDIUM{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e)}.mi-past-diff.HARD{background:#dc262614;color:#dc2626}.mi-empty-past{text-align:center;color:var(--mi-text-muted);font-size:.875rem;padding:2rem;border:1px dashed var(--mi-border);border-radius:12px}.mi-session{height:100vh;overflow:hidden;display:flex;flex-direction:column;padding-top:0}.mi-session-topbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--mi-bg2);border-bottom:1px solid var(--mi-border);z-index:10}.mi-session-brand{display:flex;align-items:center;gap:.6rem;font-family:Outfit,sans-serif;font-weight:700;font-size:1rem}.mi-session-brand-dot{width:8px;height:8px;border-radius:50%;background:var(--mi-primary);animation:mi-pulse 2s ease-in-out infinite}@keyframes mi-pulse{0%,to{box-shadow:0 0 0 0 var(--mi-primary-glow)}50%{box-shadow:0 0 0 6px transparent}}.mi-session-meta{display:flex;align-items:center;gap:1rem}.mi-session-topic-tag{font-size:.8rem;font-weight:600;color:var(--mi-text-muted);background:var(--mi-bg3);padding:.25rem .65rem;border-radius:6px}.mi-timer{display:flex;align-items:center;gap:.4rem;font-family:JetBrains Mono,monospace;font-size:.9375rem;font-weight:600;color:var(--mi-text);background:var(--mi-bg3);padding:.35rem .85rem;border-radius:8px;border:1px solid var(--mi-border);transition:color .3s,border-color .3s,background .3s}.mi-timer.danger{color:var(--mi-red);border-color:#ef444466;background:#ef444414;animation:mi-timer-blink 1s ease-in-out infinite}@keyframes mi-timer-blink{0%,to{opacity:1}50%{opacity:.7}}.mi-session-body{flex:1;display:grid;grid-template-columns:40% 60%;overflow:hidden}.mi-left-panel{border-right:1px solid var(--mi-border);overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.mi-left-panel::-webkit-scrollbar{width:4px}.mi-left-panel::-webkit-scrollbar-track{background:transparent}.mi-left-panel::-webkit-scrollbar-thumb{background:var(--mi-bg4);border-radius:2px}.mi-problem-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;color:var(--mi-text-muted);text-transform:uppercase;letter-spacing:.07em}.mi-problem-header-dot{width:6px;height:6px;border-radius:50%;background:var(--mi-primary)}.mi-problem-title{font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:700;color:var(--mi-text);margin:0 0 .5rem;line-height:1.3}.mi-problem-body{font-size:.9rem;line-height:1.75;color:var(--mi-text-2);white-space:pre-wrap;font-family:Figtree,sans-serif}.mi-problem-body code{font-family:JetBrains Mono,monospace;font-size:.8125rem;background:var(--mi-bg3);padding:.1em .4em;border-radius:4px;color:var(--mi-amber)}.mi-no-problem{color:var(--mi-text-muted);font-size:.875rem;font-style:italic}.mi-prob-tabs{display:flex;gap:.4rem;margin-bottom:.25rem}.mi-prob-tab{flex:1;padding:.4rem .75rem;border-radius:8px;border:1px solid var(--mi-border);background:var(--mi-bg3);color:var(--mi-text-muted);font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .18s var(--mi-ease);text-align:center}.mi-prob-tab:hover:not(.active){border-color:var(--mi-border-hover);color:var(--mi-text)}.mi-prob-tab.active{background:var(--primary-light, #e0f5fd);border-color:var(--primary-medium, #bbeaf8);color:var(--mi-primary-text)}.mi-md-content{display:flex;flex-direction:column;gap:.1rem;font-size:.875rem;line-height:1.65;color:var(--mi-text-2)}.mi-problem-md{font-size:.875rem}.mi-md-section{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mi-primary);margin-top:.85rem;margin-bottom:.1rem;padding-bottom:.3rem;border-bottom:1px solid var(--mi-border)}.mi-md-section:first-child{margin-top:0}.mi-md-p{margin:0;color:var(--mi-text-2)}.mi-md-spacer{height:.4rem}.mi-md-bullet{display:flex;align-items:flex-start;gap:.5rem;color:var(--mi-text-2)}.mi-md-bullet-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;background:var(--mi-primary);margin-top:.55rem}.mi-md-pre{background:var(--mi-bg3);border:1px solid var(--mi-border);border-radius:8px;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto;white-space:pre;color:var(--mi-text);margin:.25rem 0}.mi-md-code{font-family:JetBrains Mono,monospace;font-size:.8em;background:var(--mi-bg3);border:1px solid var(--mi-border);padding:.1em .4em;border-radius:4px;color:var(--mi-amber)}.mi-bubble.interviewer .mi-md-code{background:var(--mi-bg4);border-color:var(--mi-border)}.mi-bubble.student .mi-md-code{background:var(--surface-alt, #f1f5f9);border-color:var(--border, #e2e8f0);color:var(--text, #0f172a)}.mi-end-area{margin-top:auto;padding-top:1rem;border-top:1px solid var(--mi-border)}.mi-end-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.65rem 1rem;border-radius:10px;border:1px solid rgba(220,38,38,.3);background:#dc26260f;color:#dc2626;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s var(--mi-ease)}.mi-end-btn:hover:not(:disabled){background:#ef444424;border-color:#ef44448c}.mi-end-btn:disabled{opacity:.4;cursor:not-allowed}.mi-right-panel{display:flex;flex-direction:column;overflow:hidden}.mi-messages-area{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.mi-messages-area::-webkit-scrollbar{width:4px}.mi-messages-area::-webkit-scrollbar-track{background:transparent}.mi-messages-area::-webkit-scrollbar-thumb{background:var(--mi-bg4);border-radius:2px}.mi-bubble-row{display:flex;gap:.6rem;max-width:82%}.mi-bubble-row.interviewer{align-self:flex-start;align-items:flex-end}.mi-bubble-row.student{align-self:flex-end;flex-direction:row-reverse}.mi-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--mi-bg3);border:1px solid var(--mi-border);display:flex;align-items:center;justify-content:center;font-size:.8rem;margin-bottom:2px}.mi-bubble-inner{display:flex;flex-direction:column;gap:.25rem}.mi-bubble-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--mi-text-muted);text-transform:uppercase}.mi-bubble-row.student .mi-bubble-label{text-align:right;color:var(--mi-primary-text)}.mi-bubble{padding:.75rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.6;word-break:break-word}.mi-bubble.interviewer{background:var(--mi-bg3);border:1px solid var(--mi-border);border-bottom-left-radius:4px;color:var(--mi-text)}.mi-bubble.student{background:linear-gradient(135deg,var(--mi-primary-dark) 0%,var(--mi-primary) 100%);color:var(--mi-primary-text);border-bottom-right-radius:4px}.mi-typing-row{display:flex;align-items:flex-end;gap:.6rem;align-self:flex-start}.mi-typing-bubble{background:var(--mi-bg3);border:1px solid var(--mi-border);border-radius:14px 14px 14px 4px;padding:.75rem 1.1rem;display:flex;align-items:center;gap:4px}.mi-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--mi-text-muted);animation:mi-bounce 1.2s ease-in-out infinite}.mi-typing-dot:nth-child(2){animation-delay:.2s}.mi-typing-dot:nth-child(3){animation-delay:.4s}@keyframes mi-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.mi-input-area{flex-shrink:0;border-top:1px solid var(--mi-border);padding:1rem 1.25rem;background:var(--mi-bg)}.mi-input-row{display:flex;gap:.75rem;align-items:flex-end}.mi-textarea{flex:1;resize:none;background:var(--mi-bg3);border:1px solid var(--mi-border);border-radius:12px;padding:.75rem 1rem;font-family:"Figtree",inherit;font-size:.9375rem;color:var(--mi-text);line-height:1.5;outline:none;transition:border-color .2s;scrollbar-width:thin}.mi-textarea::-moz-placeholder{color:var(--mi-text-muted)}.mi-textarea::placeholder{color:var(--mi-text-muted)}.mi-textarea:focus{border-color:var(--mi-primary);box-shadow:0 0 0 3px var(--mi-primary-glow)}.mi-textarea:disabled{opacity:.5}.mi-send-btn{flex-shrink:0;width:44px;height:44px;border-radius:12px;border:none;background:var(--mi-primary);color:var(--mi-primary-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s var(--mi-ease),box-shadow .2s var(--mi-ease),background .2s}.mi-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px var(--mi-primary-glow)}.mi-send-btn:disabled{background:var(--mi-bg4);color:var(--mi-text-muted);cursor:not-allowed;transform:none}.mi-input-hint{margin-top:.4rem;font-size:.72rem;color:var(--mi-text-muted);text-align:right}.mi-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.mi-confirm-box{background:var(--mi-bg2);border:1px solid var(--mi-border);border-radius:16px;padding:2rem;max-width:420px;width:100%;text-align:center}.mi-confirm-icon{font-size:2.5rem;margin-bottom:1rem}.mi-confirm-title{font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.mi-confirm-body{color:var(--mi-text-muted);font-size:.9rem;margin-bottom:1.5rem;line-height:1.6}.mi-confirm-actions{display:flex;gap:.75rem;justify-content:center}.mi-btn-ghost{padding:.6rem 1.4rem;border-radius:9px;border:1px solid var(--mi-border);background:transparent;color:var(--mi-text-muted);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.mi-btn-ghost:hover{border-color:var(--mi-border-hover);color:var(--mi-text)}.mi-btn-danger{padding:.6rem 1.4rem;border-radius:9px;border:none;background:var(--mi-red);color:#fff;font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.mi-btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ef444459}.mi-debrief{padding-top:0}.mi-debrief-inner{max-width:900px;margin:0 auto;padding:1.5rem 1.25rem 5rem}.mi-debrief-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:70vh}.mi-debrief-header{text-align:center;margin-bottom:2rem}.mi-debrief-title{font-family:Outfit,sans-serif;font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;margin:0 0 .4rem;background:linear-gradient(135deg,var(--mi-text) 0%,var(--mi-text-2) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mi-debrief-sub{color:var(--mi-text-muted);font-size:.9375rem}.mi-score-card{display:grid;grid-template-columns:auto 1px 1fr auto;align-items:center;gap:2.5rem;background:var(--mi-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--mi-border);border-radius:20px;padding:2rem 2.5rem;margin-bottom:1.5rem}.mi-score-divider{align-self:stretch;background:var(--mi-border);width:1px;border-radius:1px}.mi-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mi-ring-svg{transform:rotate(-90deg);overflow:visible}.mi-ring-track{fill:none;stroke:var(--mi-bg3);stroke-width:9}.mi-ring-fill{fill:none;stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--mi-ease)}.mi-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.mi-ring-score{font-family:Outfit,sans-serif;font-size:2.25rem;font-weight:800;display:block;line-height:1}.mi-ring-label{font-size:.75rem;color:var(--mi-text-muted);font-weight:500;display:block;margin-top:.15rem}.mi-subscores{display:flex;flex-direction:column;gap:.85rem}.mi-subscore-row{display:flex;flex-direction:column;gap:.3rem}.mi-subscore-header{display:flex;justify-content:space-between;align-items:center}.mi-subscore-name{display:flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--mi-text-2)}.mi-subscore-val{font-family:Outfit,sans-serif;font-size:.875rem;font-weight:700}.mi-bar-track{height:5px;border-radius:3px;background:var(--mi-bg3);overflow:hidden}.mi-bar-fill{height:100%;border-radius:3px;transition:width 1.2s var(--mi-ease)}.mi-score-hire{display:flex;flex-direction:column;align-items:center;gap:.6rem;flex-shrink:0;padding-left:.5rem}.mi-hire-label-sm{display:flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--mi-text-muted);white-space:nowrap}.mi-hire-badge-lg{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1.1rem;border-radius:999px;font-size:.9rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.mi-hire-badge-lg.strong_yes{background:#0596691f;color:#059669;border:1px solid rgba(5,150,105,.3)}.mi-hire-badge-lg.yes{background:#0d94881f;color:#0d9488;border:1px solid rgba(13,148,136,.3)}.mi-hire-badge-lg.maybe{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8)}.mi-hire-badge-lg.no{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.22)}.mi-summary-card{background:var(--mi-glass);border:1px solid var(--mi-border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.mi-summary-body{font-size:.9375rem;line-height:1.7;color:var(--mi-text-2);margin:0}.mi-feedback-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.mi-feedback-card{background:var(--mi-glass);border:1px solid var(--mi-border);border-radius:14px;padding:1.25rem 1.4rem}.mi-feedback-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.9rem;padding-bottom:.75rem;border-bottom:1px solid var(--mi-border)}.mi-feedback-card-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.mi-feedback-items{display:flex;flex-direction:column;gap:.55rem}.mi-feedback-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;line-height:1.5;color:var(--mi-text-2)}.mi-feedback-item-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;margin-top:.52rem}.mi-feedback-empty{color:var(--mi-text-muted);font-size:.85rem;font-style:italic;margin:0}.mi-feedback-card.strengths{border-top:3px solid #22c55e}.mi-feedback-card.improvements{border-top:3px solid var(--primary, #72d3f7)}.mi-feedback-card.study{border-top:3px solid #3b82f6}.mi-feedback-card.strengths .mi-feedback-card-title{color:#059669}.mi-feedback-card.improvements .mi-feedback-card-title{color:var(--primary-text, #0c4a6e)}.mi-feedback-card.study .mi-feedback-card-title{color:#2563eb}.mi-feedback-card.strengths .mi-feedback-card-header svg{color:#22c55e}.mi-feedback-card.improvements .mi-feedback-card-header svg{color:var(--primary, #72d3f7)}.mi-feedback-card.study .mi-feedback-card-header svg{color:#3b82f6}.mi-feedback-card.strengths .mi-feedback-item-dot{background:#22c55e}.mi-feedback-card.improvements .mi-feedback-item-dot{background:var(--primary, #72d3f7)}.mi-feedback-card.study .mi-feedback-item-dot{background:#3b82f6}.mi-topic-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;color:#2563eb;text-decoration:none;padding:.3rem .7rem;border-radius:6px;background:#2563eb12;border:1px solid rgba(37,99,235,.18);transition:all .2s;width:100%;justify-content:space-between}.mi-topic-link:hover{background:#2563eb21;border-color:#2563eb4d;color:#1d4ed8}.mi-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;padding-top:1rem;border-top:1px solid var(--mi-border)}.mi-action-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.4rem;border-radius:10px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;transition:transform .2s var(--mi-ease),box-shadow .2s var(--mi-ease);border:1px solid transparent}.mi-action-btn:hover{transform:translateY(-1px)}.mi-action-primary{background:linear-gradient(135deg,var(--mi-primary-dark),var(--mi-primary));color:var(--mi-primary-text);box-shadow:0 4px 14px var(--mi-primary-glow)}.mi-action-primary:hover{box-shadow:0 6px 22px var(--primary-glow, rgba(114, 211, 247, .45))}.mi-action-outline{background:transparent;color:var(--mi-text);border-color:var(--mi-border)}.mi-action-outline:hover{border-color:var(--mi-border-hover);background:var(--mi-bg3)}.mi-action-ghost{background:var(--mi-bg3);color:var(--mi-text-muted);border-color:var(--mi-border)}.mi-action-ghost:hover{color:var(--mi-text)}.mi-spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:mi-spin .7s linear infinite;display:inline-block}@keyframes mi-spin{to{transform:rotate(360deg)}}.mi-toast{position:fixed;bottom:2rem;right:2rem;background:var(--mi-bg2);border:1px solid var(--mi-border);border-radius:10px;padding:.7rem 1.2rem;font-size:.875rem;font-weight:600;color:var(--mi-text);z-index:200;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 16px #0000001a}@media(max-width:768px){.mi-session-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.mi-left-panel{border-right:none;border-bottom:1px solid var(--mi-border);max-height:35vh}.mi-bubble-row{max-width:92%}.mi-score-card{grid-template-columns:1fr;grid-template-rows:auto;gap:1.5rem;padding:1.5rem;text-align:center}.mi-score-divider{display:none}.mi-ring-wrap{margin:0 auto}.mi-subscores{width:100%}.mi-score-hire{padding-left:0}.mi-feedback-grid{grid-template-columns:1fr}.mi-past-item{grid-template-columns:1fr auto;grid-template-rows:auto auto}.mi-actions{flex-direction:column;align-items:stretch}.mi-action-btn{justify-content:center}}.dc-page,.dc-widget{--dc-primary: var(--primary, #72d3f7);--dc-primary-dark: var(--primary-hover, #4ec9f5);--dc-primary-glow: var(--primary-glow, rgba(114, 211, 247, .25));--dc-primary-text: var(--primary-text, #0c4a6e);--dc-green: #22c55e;--dc-green-dim: rgba(34, 197, 94, .08);--dc-bg: var(--bg, #fafafe);--dc-bg2: var(--surface, #ffffff);--dc-bg3: var(--surface-alt, #f1f5f9);--dc-bg4: var(--border, #e2e8f0);--dc-border: var(--border, #e2e8f0);--dc-glass: rgba(255, 255, 255, .9);--dc-text: var(--text, #0f172a);--dc-text-2: var(--text-secondary, #475569);--dc-text-muted: var(--text-muted, #94a3b8);--dc-ease: cubic-bezier(.22, 1, .36, 1);font-family:Figtree,Inter,sans-serif;color:var(--dc-text);background:var(--dc-bg)}.dc-page{font-family:Figtree,Inter,sans-serif;color:var(--dc-text);background:var(--dc-bg);position:relative;overflow-x:hidden}@keyframes dc-flame-pulse{0%,to{filter:drop-shadow(0 0 6px var(--dc-primary-glow))}50%{filter:drop-shadow(0 0 14px rgba(114,211,247,.5))}}@keyframes dc-confetti-fall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(140px) rotate(800deg);opacity:0}}@keyframes dc-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes dc-checkmark{to{stroke-dashoffset:0}}@keyframes dc-pulse-ring{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.03)}}@keyframes dc-hard-pulse{0%,to{border-color:#ef444466;box-shadow:0 0 #ef444433}50%{border-color:#ef4444cc;box-shadow:0 0 12px #ef44444d}}@keyframes dc-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.dc-inner{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.5rem;position:relative;z-index:1}@media(min-width:1100px){.dc-inner{max-width:1100px;display:grid;grid-template-columns:300px 1fr;grid-template-rows:auto auto auto auto;gap:1.25rem 1.5rem;align-items:start;padding:1.5rem 2rem 4rem}}.dc-page-header{grid-column:1 / -1;margin-bottom:.25rem}.dc-eyebrow-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.dc-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .85rem;border-radius:999px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--dc-primary-text);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.dc-page-title{font-family:Outfit,sans-serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.2;margin:0 0 .35rem;background:linear-gradient(135deg,var(--dc-text) 0%,var(--dc-text-2) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dc-page-subtitle{font-size:.9375rem;color:var(--dc-text-muted);margin:0}.dc-card{background:var(--dc-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--dc-border);border-radius:16px;padding:1.5rem;box-shadow:0 1px 4px #0000000a;transition:border-color .2s,box-shadow .2s}.dc-card:hover{border-color:var(--dc-primary);box-shadow:0 4px 16px var(--dc-primary-glow)}.dc-card-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dc-text-muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:.4rem}.dc-card-title:before{content:"";width:3px;height:12px;background:var(--dc-primary);border-radius:2px;display:block}.dc-hero-card{background:linear-gradient(135deg,var(--primary-light, #e0f5fd) 0%,var(--dc-bg2) 70%);border-color:var(--primary-medium, #bbeaf8)}.dc-hero{display:flex;flex-direction:column;gap:1.25rem}.dc-flame-wrap{display:flex;align-items:center;justify-content:center;width:88px;height:88px;flex-shrink:0;position:relative;margin:0 auto}.dc-flame-icon{position:relative;z-index:1}.dc-streak-num{font-family:Outfit,sans-serif;font-size:4rem;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--dc-primary-text);display:block;text-align:center}.dc-streak-label{font-size:.7rem;letter-spacing:.1em;color:var(--dc-text-muted);text-transform:uppercase;display:block;text-align:center;margin-top:.2rem}.dc-streak-sub,.dc-best-chip{display:inline-flex;align-items:center;justify-content:center;margin:.4rem auto 0;padding:.2rem .75rem;border-radius:999px;border:1px solid var(--dc-border);background:var(--dc-bg3);font-size:.7rem;color:var(--dc-text-muted);letter-spacing:.05em;font-weight:600}.dc-hero-right{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;padding-top:.5rem;border-top:1px solid var(--dc-border)}.dc-freeze-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dc-freeze-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .7rem;border-radius:999px;background:var(--primary-light, #e0f5fd);border:1px solid var(--primary-medium, #bbeaf8);color:var(--dc-primary-text);font-size:.78rem;font-weight:600}.dc-btn-freeze{background:transparent;border:1px solid var(--dc-primary);color:var(--dc-primary-text);font-size:.78rem;font-weight:600;padding:.25rem .75rem;border-radius:8px;cursor:pointer;transition:background .2s,box-shadow .2s}.dc-btn-freeze:hover{background:var(--primary-light, #e0f5fd);box-shadow:0 0 0 3px var(--dc-primary-glow)}.dc-btn-freeze:disabled{opacity:.45;cursor:not-allowed}.dc-completed-indicator{display:flex;align-items:center;gap:.4rem;color:var(--dc-green);font-size:.83rem;font-weight:600}.dc-completed-check{color:var(--dc-green)}.dc-heatmap-root{width:100%}.dc-heatmap-layout{display:flex;gap:6px;align-items:flex-start;width:100%;overflow-x:auto}.dc-heatmap-weekday-col{display:flex;flex-direction:column;flex-shrink:0;padding-top:0}.dc-heatmap-weekday-spacer{height:18px;margin-bottom:4px}.dc-heatmap-weekday-label{height:13px;line-height:13px;font-family:DM Mono,monospace;font-size:.58rem;color:var(--dc-text-muted);text-align:right;white-space:nowrap;margin-bottom:3px;letter-spacing:.02em;padding-right:4px}.dc-heatmap-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dc-heatmap-month-row{display:grid;width:100%;height:18px}.dc-heatmap-month-label{font-family:DM Mono,monospace;font-size:.6rem;color:var(--dc-text-muted);letter-spacing:.05em;white-space:nowrap;line-height:18px}.dc-heatmap-grid{display:grid;grid-template-rows:repeat(7,13px);grid-auto-flow:column;gap:3px;width:100%}.dc-heatmap-cell{width:100%;height:13px;border-radius:3px;cursor:default;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease;box-sizing:border-box;position:relative}.dc-heatmap-cell--pad{background:transparent;border:none;pointer-events:none;visibility:hidden}.dc-heatmap-cell--empty{background:#0000000d;border:1px solid rgba(0,0,0,.06)}.dc-heatmap-cell--low{background:#72d3f74d;border:1px solid rgba(114,211,247,.2)}.dc-heatmap-cell--mid{background:#72d3f799;border:1px solid rgba(114,211,247,.4)}.dc-heatmap-cell--high{background:var(--primary, #72d3f7);border:1px solid rgba(114,211,247,.8);box-shadow:0 0 6px #72d3f766}.dc-heatmap-cell--today{background:#72d3f71f!important;border:1.5px solid var(--primary, #72d3f7)!important;box-shadow:0 0 0 2px #72d3f726!important}.dc-heatmap-cell:not(.dc-heatmap-cell--pad):hover{transform:scale(1.45);z-index:10;filter:brightness(1.2);box-shadow:0 0 8px #72d3f780}.dc-heatmap-cell:not(.dc-heatmap-cell--pad){animation:dc-cell-appear .35s ease both;animation-delay:calc(var(--col, 0) * 12ms)}@keyframes dc-cell-appear{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.dc-heatmap-legend-row{display:flex;align-items:center;gap:5px;margin-top:14px;justify-content:flex-end}.dc-heatmap-legend-label{font-family:DM Mono,monospace;font-size:.62rem;color:var(--dc-text-muted);letter-spacing:.04em}.dc-legend-cell{width:13px!important;height:13px!important;flex-shrink:0;cursor:default;pointer-events:none}.dc-heatmap-legend-divider{width:1px;height:12px;background:var(--dc-border);margin:0 4px}.dc-heatmap-tooltip{background:#0f172a;border:1px solid rgba(114,211,247,.35);color:#e2e8f0;font-family:DM Mono,monospace;font-size:.7rem;white-space:nowrap;padding:6px 12px;border-radius:8px;box-shadow:0 8px 24px #0003;letter-spacing:.03em}@media(max-width:768px){.dc-heatmap-layout{overflow-x:auto;padding-bottom:.5rem}.dc-heatmap-grid,.dc-heatmap-month-row{grid-template-columns:repeat(53,13px)!important;width:-moz-max-content;width:max-content}.dc-heatmap-cell{width:13px;min-width:13px}}.dc-challenge-header{margin-bottom:.9rem}.dc-challenge-title{font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;color:var(--dc-text);margin:0;line-height:1.3;padding-left:.85rem;border-left:3px solid var(--dc-primary)}.dc-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.8rem}.dc-badge{display:inline-flex;align-items:center;font-family:DM Mono,monospace;font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:6px}.dc-badge-easy{background:#22c55e1a;color:#059669;border:1px solid rgba(34,197,94,.25)}.dc-badge-medium{background:var(--primary-light, #e0f5fd);color:var(--primary-text, #0c4a6e);border:1px solid var(--primary-medium, #bbeaf8)}.dc-badge-hard{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.25);animation:dc-hard-pulse 1.5s ease-in-out infinite}.dc-badge-topic{background:var(--dc-bg3);color:var(--dc-text-muted);border:1px solid var(--dc-border)}.dc-description{font-family:Figtree,Inter,sans-serif;color:var(--dc-text-2);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.dc-description-clip{max-height:7rem;overflow:hidden}.dc-description .dc-read-more{margin-top:.35rem;display:block}.dc-read-more{background:none;border:none;color:var(--dc-primary);font-size:.85rem;cursor:pointer;padding:0;font-weight:600}.dc-stats-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;padding:.55rem .9rem;border:1px solid var(--dc-border);border-radius:8px;background:var(--dc-bg3);font-size:.78rem;color:var(--dc-text-muted)}.dc-stat{display:flex;align-items:center;gap:.4rem}.dc-btn-start{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:linear-gradient(135deg,var(--dc-primary-dark, #4ec9f5) 0%,var(--dc-primary, #72d3f7) 100%);color:var(--dc-primary-text, #0c4a6e);font-family:Outfit,sans-serif;font-weight:700;font-size:.95rem;padding:0 1.5rem;height:52px;border-radius:12px;border:none;cursor:pointer;text-decoration:none;transition:transform .2s var(--dc-ease),box-shadow .2s var(--dc-ease);box-shadow:0 4px 20px var(--dc-primary-glow);width:100%}.dc-btn-start:hover{transform:translateY(-2px);box-shadow:0 8px 28px #72d3f773}.dc-btn-start-arrow{opacity:.7;display:flex;align-items:center}.dc-completed-banner{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--dc-green-dim) 0%,rgba(34,197,94,.03) 100%);border:1px solid rgba(34,197,94,.2);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem}.dc-confetti{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.dc-confetti-dot{position:absolute;top:-8px;border-radius:50%;animation:dc-confetti-fall 2.4s ease-in both}.dc-score-big{font-family:Outfit,sans-serif;font-size:3rem;font-weight:800;color:var(--dc-green);line-height:1}.dc-score-label{font-size:.72rem;color:var(--dc-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}.dc-streak-extended{display:flex;align-items:center;gap:.4rem;color:var(--dc-green);font-weight:700;font-size:.9rem}.dc-streak-extended-text{color:var(--dc-green)}.dc-revisit-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--dc-text-muted);font-size:.8rem;margin-top:.3rem;text-decoration:none;transition:color .2s}.dc-revisit-link:hover{color:var(--dc-primary)}.dc-terminal-window{border-radius:10px;overflow:hidden;border:1px solid rgba(114,211,247,.2);box-shadow:0 4px 24px #0000001a}.dc-terminal-titlebar{background:#1e1e26;padding:.55rem 1rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.07)}.dc-terminal-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.dc-dot-red{background:#ff5f57;box-shadow:0 0 4px #ff5f5799}.dc-dot-yellow{background:#febc2e;box-shadow:0 0 4px #febc2e99}.dc-dot-green{background:#28c840;box-shadow:0 0 4px #28c84099}.dc-terminal-title{font-family:DM Mono,monospace;font-size:.72rem;color:#ffffff59;margin-left:.5rem;letter-spacing:.04em}.dc-terminal-active-dot{width:7px;height:7px;border-radius:50%;background:#28c840;box-shadow:0 0 6px #28c840cc;margin-left:auto;animation:dc-pulse-dot 2s ease-in-out infinite}@keyframes dc-pulse-dot{0%,to{opacity:1;box-shadow:0 0 6px #28c840cc}50%{opacity:.5;box-shadow:0 0 2px #28c8404d}}.dc-terminal-body{background:#0a0a0e;padding:1rem 1.25rem;font-family:DM Mono,monospace;position:relative}.dc-terminal-body:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to bottom,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:0}.dc-terminal-body>*{position:relative;z-index:1}.dc-terminal-cmd-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;padding:.25rem 0;width:100%;font-family:DM Mono,monospace;font-size:.82rem}.dc-terminal-cmd-toggle:hover .dc-prompt-cmd{color:#ff9fd3}@keyframes dc-blink{0%,to{opacity:1}50%{opacity:0}}.dc-cursor-blink{color:#f1f1f0;animation:dc-blink 1.1s step-start infinite;font-size:.9rem}.dc-cursor-hidden{visibility:hidden}.dc-toggle-chevron{margin-left:auto;color:#ffffff4d;transition:transform .25s}.dc-toggle-chevron[data-open=true]{transform:rotate(180deg)}.dc-prompt-user{color:#57c7ff;font-weight:600;flex-shrink:0}.dc-prompt-at{color:#ffffff40;flex-shrink:0}.dc-prompt-host{color:#57c7ff;font-weight:700;flex-shrink:0}.dc-prompt-colon{color:#ffffff4d}.dc-prompt-path{color:#5af78e;flex-shrink:0;margin:0 .2rem}.dc-prompt-dollar{color:#fff6;flex-shrink:0;margin:0 .25rem}.dc-prompt-cmd{color:#ff9fd3;flex-shrink:0}.dc-prompt-arg{color:#f1f1f0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:.3rem;min-width:0}.dc-prompt-date{color:#ffffff47;font-size:.68rem;flex-shrink:0;margin:0 .5rem;white-space:nowrap}.dc-line-number{color:#ffffff2e;font-size:.68rem;min-width:28px;text-align:right;margin-right:.5rem;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dc-result-ok{color:#5af78e;font-weight:700;flex-shrink:0;white-space:nowrap;background:#5af78e14;padding:1px 7px;border-radius:3px;border:1px solid rgba(90,247,142,.2)}.dc-result-fail{color:#ff5c57;font-weight:700;flex-shrink:0;white-space:nowrap;background:#ff5c5714;padding:1px 7px;border-radius:3px;border:1px solid rgba(255,92,87,.2)}.dc-terminal-line{display:flex;align-items:center;flex-wrap:nowrap;gap:.3rem;padding:.32rem 0;font-size:.78rem;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.03);overflow:hidden}.dc-terminal-line:last-child{border-bottom:none}.dc-terminal-line:hover{background:#ffffff06;border-radius:3px}.dc-terminal-output-header{font-family:DM Mono,monospace;font-size:.72rem;color:#ffffff38;padding:.4rem 0 .6rem;border-bottom:1px dashed rgba(255,255,255,.07);margin-bottom:.3rem;letter-spacing:.03em}.dc-sys-stat-line{display:flex;justify-content:space-between;align-items:center;padding:.28rem 0;font-family:DM Mono,monospace;font-size:.78rem;border-bottom:1px solid rgba(255,255,255,.04)}.dc-sys-key{color:#ffffff59;letter-spacing:.05em}.dc-sys-val{font-weight:700;letter-spacing:.08em}.dc-sys-stat-divider{height:1px;background:#ffffff0f;margin:.6rem 0}.dct-body{background:#08080b;padding:1rem 1.25rem .75rem;font-family:DM Mono,monospace;font-size:.78rem;min-height:160px;max-height:420px;overflow-y:auto;cursor:text;position:relative;background-image:repeating-linear-gradient(to bottom,transparent,transparent 2px,rgba(0,0,0,.07) 2px,rgba(0,0,0,.07) 4px);scrollbar-width:thin;scrollbar-color:rgba(114,211,247,.3) transparent}.dct-body::-webkit-scrollbar{width:4px}.dct-body::-webkit-scrollbar-thumb{background:#72d3f74d;border-radius:2px}.dct-banner{font-family:DM Mono,monospace;font-size:.85rem;font-weight:700;letter-spacing:.15em;padding:4px 0 2px}.dct-divider{height:1px;background:linear-gradient(to right,rgba(114,211,247,.35),rgba(114,211,247,.1),transparent);margin:4px 0}.dct-divider-light{height:1px;background:#ffffff0f;margin:3px 0}.dct-system{color:#ffffff52;font-size:.72rem;padding:1px 0;line-height:1.6}.dct-muted{color:#ffffff40;font-size:.72rem;padding:1px 0;line-height:1.6}.dct-error-line{color:#ff5c57;padding:2px 0}.dct-success-line{color:#5af78e;padding:2px 0}.dct-action-hint{color:#57c7ff;padding:2px 0;font-style:italic}.dct-section-header{padding:6px 0 2px}.dct-hdr-arrow{color:var(--dc-primary);margin-right:.4rem}.dct-hdr-text{color:#ffffffa6;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.dct-hdr-line{height:1px;background:linear-gradient(to right,rgba(114,211,247,.3),transparent);margin-top:4px}.dct-help-cat{color:#fff3;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 0 2px}.dct-help-row{display:flex;gap:.6rem;align-items:baseline;padding:1px 0 1px 8px;line-height:1.7}.dct-help-cmd{color:#ff9fd3;min-width:200px;flex-shrink:0;font-size:.77rem}.dct-help-sep{color:#ffffff26}.dct-help-desc{color:#ffffff61;font-size:.74rem}.dct-prompt-echo{display:flex;align-items:center;gap:.2rem;flex-wrap:nowrap;padding:4px 0 2px;border-top:1px solid rgba(255,255,255,.04);margin-top:4px}.dct-u{color:#57c7ff;font-weight:700}.dct-sep{color:#fff3}.dct-h{color:#57c7ff}.dct-p{color:#5af78e;margin:0 .15rem}.dct-d{color:#ffffff59;margin:0 .3rem 0 .1rem}.dct-cmd-text{color:#ff9fd3;letter-spacing:.02em}.dct-kv{display:flex;align-items:center;gap:.4rem;padding:1px 0;line-height:1.8}.dct-kv-k{color:#ffffff4d;min-width:150px;flex-shrink:0;font-size:.76rem}.dct-kv-dots{flex:1;border-bottom:1px dotted rgba(255,255,255,.08);min-width:16px;margin-bottom:3px}.dct-kv-v{font-weight:700;font-size:.76rem;white-space:nowrap}.dct-tbl-head{display:flex;align-items:center;gap:.4rem;padding:5px 0 3px;font-size:.63rem;letter-spacing:.1em;color:#fff3;border-bottom:1px solid rgba(255,255,255,.07);text-transform:uppercase}.dct-hist-row{display:flex;align-items:center;gap:.4rem;padding:3px 0;font-size:.75rem;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.025);transition:background .1s}.dct-hist-row:hover{background:#ffffff08;border-radius:2px}.dct-hist-missed{opacity:.6}.dct-col-num{color:#ffffff2e;min-width:28px;text-align:right;font-size:.66rem;flex-shrink:0}.dct-col-date{color:#ffffff52;min-width:70px;flex-shrink:0;font-size:.72rem}.dct-col-name{flex:1;color:#f1f1f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dct-col-score{min-width:44px;text-align:right;flex-shrink:0;font-weight:700;font-size:.72rem}.dct-col-bar{min-width:80px;flex-shrink:0;letter-spacing:1px;font-size:.7rem}.dct-col-exit{min-width:60px;text-align:right;flex-shrink:0;font-weight:700;font-size:.68rem}.dct-ok{color:#5af78e}.dct-fail{color:#ff5c57}.dct-summary{padding:4px 0;font-size:.72rem}.dct-sum-sep{color:#ffffff2e}.dct-badge{display:inline-block;color:var(--primary,#72d3f7);background:#72d3f712;border:1px solid rgba(114,211,247,.18);border-radius:4px;padding:2px 10px;margin:2px 0;font-size:.73rem}.dct-prog-row{display:flex;align-items:center;gap:.6rem;padding:2px 0;line-height:1.9}.dct-prog-lbl{color:#ffffff4d;min-width:150px;font-size:.72rem;flex-shrink:0}.dct-prog-bar{letter-spacing:1px;flex-shrink:0;font-size:.72rem}.dct-prog-pct{font-weight:700;font-size:.72rem;white-space:nowrap}.dct-diff-row{display:flex;align-items:center;gap:.75rem;padding:3px 0;font-size:.75rem}.dct-diff-name{min-width:70px;font-weight:700;letter-spacing:.06em;flex-shrink:0}.dct-diff-bar{letter-spacing:1px;font-size:.72rem;flex-shrink:0}.dct-ranked-row{display:flex;align-items:center;gap:.6rem;padding:4px 6px;border-radius:4px;font-size:.76rem}.dct-ranked-top{background:#72d3f70d;border:1px solid rgba(114,211,247,.15);border-radius:5px}.dct-rank-medal{min-width:28px;flex-shrink:0;font-size:.82rem}.dct-rank-name{flex:1;color:#f1f1f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dct-rank-date{color:#ffffff4d;font-size:.7rem;flex-shrink:0}.dct-rank-score{font-weight:700;min-width:44px;text-align:right;flex-shrink:0}.dct-pd-card{border:1px solid rgba(114,211,247,.12);border-radius:6px;padding:.8rem 1rem;margin:4px 0;background:#72d3f705}.dct-pd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.dct-pd-title{color:#f1f1f0;font-weight:700;font-size:.82rem}.dct-pd-grade{font-weight:900;font-size:.9rem;border:1.5px solid;border-radius:4px;padding:0 7px}.dct-pd-bar{letter-spacing:1px;font-size:.72rem;margin-bottom:8px}.dct-pd-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.dct-pd-kv{display:flex;gap:.5rem;font-size:.72rem}.dct-pd-kv>span:first-child{color:#ffffff4d}.dct-pd-kv>span:last-child{color:#ffffffb3}.dct-whoami{border:1px solid rgba(114,211,247,.15);border-radius:8px;padding:1rem;background:#72d3f708}.dct-whoami-top{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}.dct-whoami-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-hover,#4ec9f5),var(--primary,#72d3f7));border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;color:#0c4a6e;flex-shrink:0}.dct-whoami-name{color:#f1f1f0;font-weight:700;font-size:.85rem}.dct-whoami-host{color:#ffffff4d;font-size:.72rem}.dct-whoami-stats{display:flex;gap:1rem;flex-wrap:wrap}.dct-whoami-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.dct-whoami-stat>span:first-child{font-weight:700;font-size:.82rem;color:#f1f1f0}.dct-whoami-stat>span:last-child{font-size:.62rem;color:#ffffff47;text-transform:uppercase;letter-spacing:.06em}.dct-streak-graph{padding:4px 0}.dct-sg-title{color:#ffffff40;font-size:.67rem;margin-bottom:6px;letter-spacing:.03em}.dct-sg-row{display:flex;gap:2px;flex-wrap:nowrap;margin-bottom:4px}.dct-sg-cell{font-size:.82rem;cursor:default;transition:transform .1s}.dct-sg-cell:hover{transform:scale(1.3)}.dct-sg-labels{display:flex;justify-content:space-between;padding:0 2px}.dct-sg-month{font-size:.6rem;color:#ffffff38}.dct-cal{font-size:.76rem;line-height:1.7}.dct-cal-title{color:#fff9;font-weight:700;margin-bottom:4px;letter-spacing:.06em}.dct-cal-head{color:#ffffff38;letter-spacing:.06em;font-size:.68rem}.dct-cal-week{display:flex}.dct-cal-day{min-width:28px;font-variant-numeric:tabular-nums}.dct-cal-empty{min-width:28px}.dct-cal-legend{display:flex;gap:1rem;margin-top:6px;font-size:.68rem;opacity:.6}.dct-quote{border-left:2px solid rgba(114,211,247,.4);padding:6px 12px;margin:4px 0;background:#72d3f705;border-radius:0 6px 6px 0}.dct-quote-mark{color:#72d3f780;font-size:1.1rem}.dct-quote-text{color:#ffffffa6;font-style:italic;font-size:.78rem;line-height:1.6}.dct-tip{display:flex;gap:.75rem;align-items:flex-start;padding:8px 12px;background:#72d3f70a;border:1px solid rgba(114,211,247,.1);border-radius:6px;margin:4px 0}.dct-tip-icon{flex-shrink:0;font-size:.85rem;color:#72d3f7b3}.dct-tip-text{color:#fff9;font-size:.76rem;line-height:1.6}.dct-suggestions{border:1px solid rgba(114,211,247,.2);border-radius:6px;margin:4px 0;overflow:hidden;background:#0d0d12}.dct-suggest-item{padding:5px 12px;font-size:.76rem;color:#ffffff73;cursor:pointer;transition:background .1s;display:flex;align-items:center;gap:.5rem}.dct-suggest-item:hover,.dct-suggest-active{background:#72d3f714;color:#f1f1f0}.dct-suggest-icon{color:#72d3f780;font-size:.68rem}.dct-input-line{display:flex;align-items:center;gap:.2rem;padding:6px 0 4px;border-top:1px solid rgba(255,255,255,.05);margin-top:2px;flex-wrap:nowrap}.dct-input{flex:1;background:transparent;border:none;outline:none;color:#f1f1f0;font-family:DM Mono,monospace;font-size:.78rem;caret-color:var(--primary,#72d3f7);min-width:0}.dct-input::-moz-placeholder{color:#ffffff26}.dct-input::placeholder{color:#ffffff26}.dct-collapsed{cursor:pointer}.dct-collapsed:hover .dc-terminal-titlebar{background:#2a2a32}.dc-history-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:none;border:none;font-family:DM Mono,monospace;color:var(--dc-text-2);font-size:.9rem;font-weight:500;width:100%;padding:.5rem 0;gap:.5rem}.dc-history-toggle:before{content:"$ ";color:var(--dc-primary)}.dc-history-cursor{display:inline-block;width:2px;height:1em;background:var(--dc-primary);margin-left:2px;vertical-align:-2px;animation:dc-cursor-blink 1s step-end infinite}.dc-history-toggle[data-open=true] .dc-history-cursor{display:none}.dc-history-toggle svg{transition:transform .25s;flex-shrink:0}.dc-history-toggle[data-open=true] svg{transform:rotate(180deg)}.dc-history-list{margin-top:.9rem;display:flex;flex-direction:column;gap:.5rem}.dc-history-row{display:flex;align-items:center;padding:.75rem 1rem;background:var(--dc-bg2);border:1px solid var(--dc-border);border-radius:8px;gap:.75rem;flex-wrap:wrap;transition:all .2s ease;position:relative}.dc-history-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:2px 0 0 2px}.dc-history-row[data-pass=true]:before{background:var(--dc-green)}.dc-history-row[data-pass=false]:before{background:#ef4444}.dc-history-date{font-family:DM Mono,monospace;font-size:.75rem;color:var(--dc-text-muted);min-width:68px}.dc-history-name{flex:1;font-size:.85rem;color:var(--dc-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-history-row[data-pass=false] .dc-history-name{text-decoration:line-through;opacity:.7}.dc-score-badge-wrapper{display:flex;align-items:center;gap:.5rem}.dc-score-bar-bg{width:32px;height:6px;background:var(--dc-bg3);border-radius:2px;overflow:hidden;border:1px solid var(--dc-border)}.dc-score-badge{font-family:DM Mono,monospace;font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:4px}.dc-score-badge-pass .dc-score-badge{background:#22c55e1f;color:var(--dc-green);border:1px solid rgba(34,197,94,.25)}.dc-score-badge-missed .dc-score-badge{background:#dc262614;color:#dc2626;border:1px solid rgba(220,38,38,.2)}.dc-score-bar-fill{height:100%;border-radius:1px;min-width:2px}.dc-spinner{width:32px;height:32px;border:3px solid rgba(114,211,247,.15);border-top-color:var(--dc-primary);border-radius:50%;animation:spin .7s linear infinite;margin:4rem auto}.dc-error{background:#dc262614;border:1px solid rgba(220,38,38,.25);color:#dc2626;border-radius:8px;padding:.85rem 1.1rem;font-size:.87rem}@media(max-width:640px){.dc-inner{padding:1rem 1rem 3rem;max-width:100%}.dc-page-title{font-size:1.5rem}.dc-streak-num{font-size:3rem}.dc-card{padding:1.25rem}.dc-hero{flex-direction:column}}.dc-widget{font-family:Figtree,Inter,sans-serif}.dc-widget .dc-widget-inner{border:1px solid var(--dc-border);border-radius:12px;padding:1.25rem;background:var(--dc-bg2);box-shadow:0 1px 4px #0000000f}.dc-widget-streak{font-family:Outfit,sans-serif;font-size:2rem;font-weight:800;color:var(--dc-primary-text)}.dc-widget-flame{animation:dc-flame-pulse 1.8s ease-in-out infinite}.dc-widget-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,var(--dc-primary-dark) 0%,var(--dc-primary) 100%);color:var(--dc-primary-text);font-family:Outfit,sans-serif;font-weight:700;font-size:.8rem;padding:.65rem 1rem;border-radius:8px;text-decoration:none;transition:all .25s var(--dc-ease);box-shadow:0 4px 16px var(--dc-primary-glow);width:100%}.dc-widget-cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #72d3f766}.dc-widget-progress{height:4px;background:#00000014;border-radius:2px;overflow:hidden;margin-top:.75rem}.dc-widget-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--dc-primary-dark) 0%,var(--dc-primary) 100%);transition:width .4s var(--dc-ease)}.ct-root{--ct-bg: var(--bg, #fafafe);--ct-bg2: var(--surface, #ffffff);--ct-bg3: var(--surface-alt, #f1f5f9);--ct-border: var(--border, #e2e8f0);--ct-text: var(--text, #0f172a);--ct-text-2: var(--text-secondary, #475569);--ct-text-muted: var(--text-muted, #94a3b8);--ct-primary: #0ea5e9;--ct-primary-dark: #0284c7;--ct-primary-text: #0c4a6e;--ct-primary-light:#e0f5fd;--ct-primary-mid: #bbeaf8;--ct-primary-glow: rgba(14, 165, 233, .18);--ct-green: #059669;--ct-green-light: rgba(5, 150, 105, .09);--ct-green-border: rgba(5, 150, 105, .22);--ct-amber: #d97706;--ct-amber-light: rgba(217, 119, 6, .09);--ct-red: #dc2626;--ct-red-light: rgba(220, 38, 38, .08);--ct-gold: #d97706;--ct-silver: #64748b;--ct-bronze: #b45309;--ct-ease: cubic-bezier(.22, 1, .36, 1);font-family:Sora,Inter,system-ui,sans-serif;color:var(--ct-text)}.ct-main{min-height:100vh;background:var(--ct-bg);padding-bottom:4rem}@keyframes ct-orb-drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(24px) scale(1.06)}}@keyframes ct-pulse-ring{0%{box-shadow:0 0 #05966999}70%{box-shadow:0 0 0 7px #05966900}to{box-shadow:0 0 #05966900}}@keyframes ct-spin-anim{to{transform:rotate(360deg)}}@keyframes ct-urgent-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes ct-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ct-list-header{position:relative;overflow:hidden;padding:3.5rem 2rem 2.5rem;background:linear-gradient(160deg,rgba(14,165,233,.07) 0%,rgba(14,165,233,.02) 45%,transparent 100%);border-bottom:1px solid var(--ct-border)}.ct-list-header-orb{position:absolute;top:-60%;right:-5%;width:45%;height:160%;background:radial-gradient(ellipse,rgba(14,165,233,.1) 0%,transparent 65%);pointer-events:none;animation:ct-orb-drift 9s ease-in-out infinite alternate}.ct-list-header:after{content:"";position:absolute;bottom:-30%;left:-5%;width:30%;height:100%;background:radial-gradient(ellipse,rgba(14,165,233,.05) 0%,transparent 65%);pointer-events:none}.ct-list-header-content{position:relative;z-index:1;max-width:960px;margin:0 auto}.ct-list-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .9rem;background:var(--ct-primary-light);border:1px solid var(--ct-primary-mid);border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--ct-primary-text);text-transform:uppercase;margin-bottom:.9rem}.ct-list-title{font-family:Outfit,sans-serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.15;margin:0 0 .5rem;background:linear-gradient(135deg,var(--ct-text) 30%,var(--ct-text-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ct-list-subtitle{font-size:.95rem;color:var(--ct-text-muted);margin:0 0 1.5rem;line-height:1.5}.ct-admin-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.ct-global-stats{display:flex;align-items:center;gap:0;flex-wrap:wrap;background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:14px;padding:.85rem 1.5rem;width:-moz-fit-content;width:fit-content;box-shadow:0 1px 4px #0000000a}.ct-gstat{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:0 1.25rem}.ct-gstat:first-child{padding-left:0}.ct-gstat:last-child{padding-right:0}.ct-gstat span:first-child{font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800;color:var(--ct-text);line-height:1}.ct-gstat span:last-child{font-size:.68rem;color:var(--ct-text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.ct-gstat-div{width:1px;height:28px;background:var(--ct-border);flex-shrink:0}.ct-live-dot{display:inline-block;width:7px;height:7px;background:var(--ct-green);border-radius:50%;box-shadow:0 0 #05966999;animation:ct-pulse-ring 1.5s ease-out infinite}.ct-status{display:inline-flex;align-items:center;gap:.35rem;font-family:DM Mono,monospace;font-size:.65rem;font-weight:700;letter-spacing:.1em;padding:3px 9px;border-radius:999px}.ct-status-active{background:var(--ct-green-light);color:#065f46;border:1px solid var(--ct-green-border)}.ct-status-upcoming{background:#0ea5e917;color:var(--ct-primary-dark);border:1px solid rgba(14,165,233,.22)}.ct-status-ended{background:var(--ct-bg3);color:var(--ct-text-muted);border:1px solid var(--ct-border)}.ct-diff-badge{font-size:.63rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.05em}.ct-diff-easy{background:#05966917;color:#065f46;border:1px solid rgba(5,150,105,.2)}.ct-diff-medium{background:var(--ct-amber-light);color:#92400e;border:1px solid rgba(217,119,6,.2)}.ct-diff-hard{background:var(--ct-red-light);color:#991b1b;border:1px solid rgba(220,38,38,.2)}.ct-filter-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1.25rem 2rem;max-width:1200px;margin:0 auto;position:sticky;top:0;z-index:20;background:var(--ct-bg);border-bottom:1px solid var(--ct-border)}.ct-tabs{display:flex;gap:.2rem;background:var(--ct-bg3);padding:3px;border-radius:12px;border:1px solid var(--ct-border)}.ct-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .9rem;border:1px solid transparent;background:transparent;color:var(--ct-text-muted);font-size:.8rem;font-weight:600;border-radius:9px;cursor:pointer;transition:all .2s var(--ct-ease);white-space:nowrap}.ct-tab:hover{color:var(--ct-text);background:var(--ct-bg2)}.ct-tab-active{background:var(--ct-bg2)!important;color:var(--ct-primary-dark)!important;border-color:var(--ct-border)!important;box-shadow:0 1px 4px #00000012}.ct-tab-count{font-size:.65rem;background:#0000000f;padding:1px 6px;border-radius:999px;font-weight:700}.ct-tab-active .ct-tab-count{background:var(--ct-primary-light);color:var(--ct-primary-dark)}.ct-search-wrap{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:10px;flex:1;min-width:160px;max-width:280px;transition:border-color .15s,box-shadow .15s}.ct-search-wrap:focus-within{border-color:#0ea5e980;box-shadow:0 0 0 3px #0ea5e91a}.ct-search-wrap svg{color:var(--ct-text-muted);flex-shrink:0}.ct-search{flex:1;background:none;border:none;color:var(--ct-text);font-size:.85rem;outline:none}.ct-search::-moz-placeholder{color:var(--ct-text-muted)}.ct-search::placeholder{color:var(--ct-text-muted)}.ct-diff-pills{display:flex;gap:.3rem;margin-left:auto}.ct-diff-pill{padding:.35rem .7rem;border:1px solid var(--ct-border);background:var(--ct-bg2);color:var(--ct-text-muted);font-size:.72rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .18s;letter-spacing:.04em}.ct-diff-pill:hover{border-color:#0ea5e966;color:var(--ct-text)}.ct-diff-pill.active.ct-diff-all{background:var(--ct-primary-light);border-color:#0ea5e966;color:var(--ct-primary-dark)}.ct-diff-pill.active.ct-diff-easy{background:#05966917;border-color:#0596694d;color:#065f46}.ct-diff-pill.active.ct-diff-medium{background:var(--ct-amber-light);border-color:#d977064d;color:#92400e}.ct-diff-pill.active.ct-diff-hard{background:var(--ct-red-light);border-color:#dc26264d;color:#991b1b}.ct-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;padding:1.5rem 2rem;max-width:1200px;margin:0 auto;animation:ct-fade-up .35s ease-out both}.ct-card{border-radius:16px;padding:0;display:flex;flex-direction:column;border:1px solid var(--ct-border);background:var(--ct-bg2);overflow:hidden;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 4px #0000000a}.ct-card:before{content:"";display:block;height:3px;background:var(--ct-border);flex-shrink:0}.ct-card[data-status=ACTIVE]:before{background:linear-gradient(90deg,var(--ct-green),#34d399)}.ct-card[data-status=UPCOMING]:before{background:linear-gradient(90deg,var(--ct-primary),#38bdf8)}.ct-card[data-status=ENDED]:before{background:var(--ct-border)}.ct-card:hover{border-color:#0ea5e94d;box-shadow:0 6px 24px #0ea5e91a}.ct-card-body{padding:1.25rem 1.4rem;display:flex;flex-direction:column;gap:.85rem;flex:1}.ct-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.ct-tag{font-size:.65rem;padding:2px 7px;background:var(--ct-primary-light);color:var(--ct-primary-text);border-radius:5px;border:1px solid var(--ct-primary-mid);font-weight:600;letter-spacing:.02em}.ct-card-title{font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--ct-text);margin:0;line-height:1.3}.ct-card-desc{color:var(--ct-text-muted);font-size:.82rem;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ct-card-meta{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.76rem;color:var(--ct-text-muted);padding:.65rem 0;border-top:1px solid var(--ct-border);border-bottom:1px solid var(--ct-border)}.ct-meta-item{display:flex;align-items:center;gap:.3rem}.ct-meta-item.ct-prize{color:var(--ct-gold);font-weight:600}.ct-card-time{font-size:.82rem}.ct-countdown-inline{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;width:-moz-fit-content;width:fit-content}.ct-countdown-inline[data-status=ACTIVE]{background:var(--ct-green-light);border:1px solid var(--ct-green-border)}.ct-countdown-inline[data-status=UPCOMING]{background:#0ea5e912;border:1px solid rgba(14,165,233,.18)}.ct-countdown-label{font-size:.72rem;font-weight:600;color:var(--ct-text-muted);text-transform:uppercase;letter-spacing:.06em}.ct-countdown-val{font-family:DM Mono,monospace;font-weight:700;font-size:.95rem;color:var(--ct-red);letter-spacing:.04em}.ct-countdown-val.ct-upcoming{color:var(--ct-primary-dark)}.ct-ended-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--ct-text-muted);padding:.35rem .65rem;background:var(--ct-bg3);border:1px solid var(--ct-border);border-radius:7px}.ct-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.85rem 1.4rem;background:var(--ct-bg3);border-top:1px solid var(--ct-border)}.ct-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:9px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .18s var(--ct-ease);text-decoration:none;border:1px solid transparent;white-space:nowrap}.ct-btn-register{background:var(--ct-primary);color:#fff;border-color:var(--ct-primary)}.ct-btn-register:hover:not(:disabled){background:var(--ct-primary-dark);box-shadow:0 4px 14px #0ea5e959;transform:translateY(-1px)}.ct-btn-register:disabled{opacity:.55;cursor:not-allowed}.ct-btn-registered{background:var(--ct-green-light);color:var(--ct-green);border-color:var(--ct-green-border);cursor:default}.ct-btn-enter{background:var(--ct-green);color:#fff;border-color:var(--ct-green)}.ct-btn-enter:hover{background:#047857;box-shadow:0 4px 14px #0596694d;transform:translateY(-1px)}.ct-btn-results{background:var(--ct-bg2);color:var(--ct-text-2);border-color:var(--ct-border)}.ct-btn-results:hover{background:var(--ct-primary-light);color:var(--ct-primary-dark);border-color:var(--ct-primary-mid)}.ct-btn-ghost{background:transparent;color:var(--ct-text-muted);border-color:var(--ct-border)}.ct-btn-ghost:hover{color:var(--ct-text);background:var(--ct-bg2)}.ct-role-blocked-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.73rem;color:var(--ct-text-muted);padding:.35rem .65rem;background:var(--ct-red-light);border:1px solid rgba(220,38,38,.2);border-radius:8px}.ct-reg-error{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin:0 2rem .5rem;max-width:1200px;margin-left:auto;margin-right:auto;margin-top:1rem;background:var(--ct-red-light);border:1px solid rgba(220,38,38,.22);border-radius:12px}.ct-reg-error svg:first-child{color:var(--ct-red)}.ct-reg-error-msg{flex:1;margin:0;font-size:.87rem;color:#991b1b;white-space:pre-wrap}.ct-reg-error-dismiss{background:transparent;border:none;color:var(--ct-text-muted);cursor:pointer;padding:.2rem;border-radius:6px}.ct-reg-error-dismiss:hover{color:var(--ct-red)}.ct-loading,.ct-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;color:var(--ct-text-muted);grid-column:1 / -1;text-align:center}.ct-empty-icon{width:56px;height:56px;background:var(--ct-bg3);border:1px solid var(--ct-border);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem;color:var(--ct-text-muted)}.ct-empty h3{font-size:1rem;font-weight:700;color:var(--ct-text);margin:0 0 .25rem}.ct-empty p{font-size:.85rem;margin:0}.ct-spin{animation:ct-spin-anim .8s linear infinite}.ct-spinner{width:28px;height:28px;border:2.5px solid rgba(14,165,233,.15);border-top-color:var(--ct-primary);border-radius:50%;animation:ct-spin-anim .7s linear infinite;margin:2rem auto}.ct-muted{color:var(--ct-text-muted);font-size:.9rem}.ct-page-header{position:relative;overflow:hidden;padding:2rem;background:linear-gradient(160deg,rgba(14,165,233,.05) 0%,transparent 100%);border-bottom:1px solid var(--ct-border)}.ct-page-header-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(14,165,233,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.ct-page-header-content{position:relative;z-index:1}.ct-breadcrumb{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--ct-text-muted);margin-bottom:.75rem}.ct-breadcrumb a{color:var(--ct-primary);text-decoration:none}.ct-breadcrumb a:hover{text-decoration:underline}.ct-page-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.ct-page-title{font-size:1.75rem;font-weight:800;margin:0}.ct-my-rank-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--ct-amber-light);color:var(--ct-gold);border-radius:10px;font-size:.88rem;border:1px solid rgba(217,119,6,.2)}.ct-rank-of{opacity:.8;font-weight:400}.ct-timer{margin:1rem 0}.ct-timer-label{font-size:.72rem;color:var(--ct-text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.35rem}.ct-timer-display{display:flex;align-items:flex-start;gap:.25rem}.ct-timer-unit{display:flex;flex-direction:column;align-items:center;gap:2px}.ct-timer-num{font-family:DM Mono,monospace;font-size:1.5rem;font-weight:700;line-height:1;color:var(--ct-text)}.ct-timer-large .ct-timer-num{font-size:2.8rem;font-weight:900}.ct-timer-urgent .ct-timer-num{color:var(--ct-red);animation:ct-urgent-pulse 1s ease-in-out infinite}.ct-timer-colon{font-family:DM Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--ct-text-muted);align-self:flex-start;padding-top:4px}.ct-timer-large .ct-timer-colon{font-size:2rem}.ct-timer-unit-label{font-family:DM Mono,monospace;font-size:.58rem;letter-spacing:.14em;color:var(--ct-text-muted)}.ct-split-layout{display:grid;grid-template-columns:40% 1fr;gap:1.5rem;align-items:start;padding:1.5rem 2rem;max-width:1400px;margin:0 auto}@media(max-width:900px){.ct-split-layout{grid-template-columns:1fr}}.ct-header-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.ct-manager-warning{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;margin-bottom:1rem;background:var(--ct-amber-light);border:1px solid rgba(217,119,6,.3);border-radius:10px;color:#92400e;font-size:.85rem}.ct-manager-warning svg{flex-shrink:0}.ct-clarify-form{display:flex;flex-direction:column;gap:.6rem;padding:1rem;margin-bottom:1.25rem}.ct-clarify-form label{font-size:.8rem;font-weight:600;color:var(--ct-text-2)}.ct-clarify-select,.ct-clarify-textarea{padding:.5rem .75rem;background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:8px;color:var(--ct-text);font-size:.88rem;outline:none;transition:border-color .15s}.ct-clarify-select:focus,.ct-clarify-textarea:focus{border-color:#0ea5e980}.ct-clarify-textarea{resize:vertical;min-height:60px}.ct-clarifications-title{font-size:.9rem;font-weight:700;margin:0 0 .75rem;color:var(--ct-text)}.ct-clarifications-list{display:flex;flex-direction:column;gap:.75rem}.ct-clarification-item{padding:.85rem 1rem;border-radius:10px;background:var(--ct-bg3);border:1px solid var(--ct-border)}.ct-clarification-q{font-size:.85rem;color:var(--ct-text-2);margin-bottom:.4rem}.ct-clarification-a{font-size:.88rem;color:var(--ct-green)}.ct-problems-panel{background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.ct-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ct-panel-title{font-size:1rem;font-weight:700;margin:0}.ct-solved-count{font-size:.8rem;color:var(--ct-text-muted)}.ct-problems-progress{height:4px;background:var(--ct-bg3);border-radius:2px;overflow:hidden;margin-bottom:1rem}.ct-problems-progress-fill{height:100%;background:linear-gradient(90deg,var(--ct-primary),var(--ct-green));border-radius:2px;transition:width .3s var(--ct-ease)}.ct-problem-list{display:flex;flex-direction:column;gap:.5rem}.ct-problem-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--ct-border);background:var(--ct-bg3);transition:all .2s}.ct-problem-solved{background:#0596690f;border-color:#05966933}.ct-problem-attempted{background:var(--ct-amber-light);border-color:#d9770626}.ct-problem-row:hover{border-color:#0ea5e94d;box-shadow:0 2px 8px #0ea5e90f}.ct-problem-status-icon{flex-shrink:0}.ct-icon-solved{color:var(--ct-green)}.ct-icon-attempted{color:var(--ct-gold)}.ct-icon-empty{color:var(--ct-text-muted)}.ct-problem-info{flex:1;min-width:0}.ct-problem-label{font-weight:600;font-size:.88rem;display:block;margin-bottom:.25rem}.ct-problem-meta-row{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--ct-text-muted)}.ct-problem-points{display:flex;align-items:center;gap:.3rem;color:var(--ct-gold)}.ct-problem-score{color:var(--ct-green)}.ct-problem-attempts{color:var(--ct-text-muted)}.ct-problem-actions{display:flex;gap:.5rem;flex-shrink:0}.ct-btn-problem-solve{padding:.4rem .75rem;background:var(--ct-primary);color:#fff;border-radius:8px;font-size:.78rem;font-weight:600;text-decoration:none;border:none;cursor:pointer}.ct-btn-problem-solve:hover{background:var(--ct-primary-dark)}.ct-btn-problem-submit{padding:.4rem .75rem;background:var(--ct-bg2);color:var(--ct-text);border:1px solid var(--ct-border);border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer}.ct-btn-problem-submit:hover:not(:disabled){background:var(--ct-bg3);border-color:#0ea5e94d}.ct-btn-problem-submit:disabled{opacity:.6;cursor:not-allowed}.ct-btn-problem-ghost{padding:.4rem .75rem;color:var(--ct-text-muted);font-size:.78rem;text-decoration:none}.ct-btn-problem-ghost:hover{color:var(--ct-primary)}.ct-right-panel{background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.ct-right-tabs{display:flex;gap:.25rem;margin-bottom:1rem}.ct-right-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:transparent;border:1px solid transparent;color:var(--ct-text-muted);font-size:.82rem;font-weight:600;border-radius:10px;cursor:pointer;transition:all .2s}.ct-right-tab:hover{color:var(--ct-text);background:var(--ct-bg3)}.ct-right-tab.active{background:var(--ct-primary-light);color:var(--ct-primary-dark);border-color:var(--ct-primary-mid)}.ct-lb-restricted{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1.5rem;text-align:center;background:var(--ct-bg3);border:1px dashed var(--ct-border);border-radius:12px;color:var(--ct-text-muted);font-size:.9rem}.ct-lb-restricted p{margin:0}.ct-create-form .ct-form-group{margin-bottom:1.25rem}.ct-create-form .ct-form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--ct-text-2);margin-bottom:.4rem}.ct-create-form .ct-form-group input[type=text],.ct-create-form .ct-form-group input[type=number],.ct-create-form .ct-form-group input[type=datetime-local],.ct-create-form .ct-form-group textarea{width:100%;padding:.6rem .9rem;background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:10px;color:var(--ct-text);font-size:.9rem;outline:none;transition:border-color .15s}.ct-create-form .ct-form-group input:focus,.ct-create-form .ct-form-group textarea:focus{border-color:#0ea5e980;box-shadow:0 0 0 3px #0ea5e91a}.ct-create-form .ct-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ct-create-form .ct-form-hint{font-size:.78rem;color:var(--ct-text-muted);margin:0 0 .5rem}.ct-create-form .ct-problem-row-edit{padding:.5rem .75rem;background:var(--ct-bg3);border:1px solid var(--ct-border);border-radius:8px}.ct-create-form .ct-ord{font-weight:600;color:var(--ct-text-muted);min-width:1.5rem}.ct-create-form .ct-lab-title{flex:1;font-size:.88rem}.ct-btn-remove{background:transparent;border:none;color:var(--ct-text-muted);cursor:pointer;padding:.25rem;border-radius:6px}.ct-btn-remove:hover{color:var(--ct-red);background:var(--ct-red-light)}.ct-lb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ct-lb-meta{display:flex;gap:.75rem;align-items:center;font-size:.78rem;color:var(--ct-text-muted)}.ct-lb-live{color:var(--ct-green);display:flex;align-items:center;gap:.35rem}.ct-lb-refresh-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:var(--ct-bg3);border:1px solid var(--ct-border);color:var(--ct-text-2);font-size:.78rem;border-radius:8px;cursor:pointer}.ct-lb-refresh-btn:hover:not(:disabled){background:var(--ct-bg2);border-color:#0ea5e94d}.ct-lb-head-row,.ct-lb-row{display:grid;grid-template-columns:50px minmax(80px,1fr) 60px 50px 70px repeat(10,36px);gap:.5rem;align-items:center;font-size:.8rem}.ct-lb-head-row{color:var(--ct-text-muted);font-weight:600;padding:.5rem .75rem;border-bottom:1px solid var(--ct-border)}.ct-lb-head-row .ct-lb-col-prob,.ct-lb-row .ct-lb-col-prob{width:36px;text-align:center}.ct-lb-rows{display:flex;flex-direction:column;gap:.25rem}.ct-lb-row{padding:.65rem .85rem;border-radius:8px;transition:background .15s;border:1px solid transparent}.ct-lb-row:hover{background:var(--ct-bg3)}.ct-lb-row-me{background:#0ea5e90f!important;border-color:#0ea5e933!important}.ct-medal-gold{background:#d9770612!important}.ct-medal-silver{background:#64748b12!important}.ct-medal-bronze{background:#b4530912!important}.ct-rank-num{font-weight:700}.ct-rank-up{color:var(--ct-green);font-size:.65rem;margin-left:2px}.ct-rank-down{color:var(--ct-red);font-size:.65rem;margin-left:2px}.ct-lb-col-name{display:flex;align-items:center;gap:.5rem}.ct-lb-avatar{width:28px;height:28px;border-radius:50%;background:var(--ct-primary-light);color:var(--ct-primary-dark);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.ct-lb-username{display:flex;align-items:center;gap:.35rem}.ct-you-tag{background:var(--ct-primary);color:#fff;font-size:.58rem;padding:1px 5px;border-radius:4px;margin-left:5px;font-weight:700;letter-spacing:.05em}.ct-prob-solved{color:var(--ct-green);font-weight:600}.ct-prob-attempted{color:var(--ct-text-muted)}.ct-prob-empty{color:var(--ct-text-muted);opacity:.5}.ct-submit-toast{position:fixed;bottom:2rem;right:2rem;padding:.85rem 1.4rem;border-radius:12px;display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.88rem;z-index:9999;box-shadow:0 8px 24px #0000001f}.ct-toast-success{background:#0596691a;border:1px solid rgba(5,150,105,.3);color:#065f46}.ct-toast-fail{background:var(--ct-red-light);border:1px solid rgba(220,38,38,.3);color:#991b1b}.ct-analytics-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.ct-astat{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;background:var(--ct-bg2);border:1px solid var(--ct-border);border-radius:12px;min-width:100px;box-shadow:0 1px 3px #0000000a}.ct-astat-val{font-family:DM Mono,monospace;font-size:1.25rem;font-weight:700}.ct-astat-label{font-size:.72rem;color:var(--ct-text-muted);text-transform:uppercase}.ct-chart-wrap{margin-bottom:1.5rem}.ct-chart-title{font-size:.88rem;font-weight:600;margin-bottom:.5rem;color:var(--ct-text-2)}.ct-problem-breakdown{display:flex;flex-direction:column;gap:.5rem}.ct-pb-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:10px;border:1px solid var(--ct-border);font-size:.85rem}.ct-pb-solved{background:#0596690d;border-color:#05966926}.ct-pb-missed{background:var(--ct-red-light);border-color:#dc26261f}.ct-pb-label{flex:1;min-width:0}.ct-pb-score{display:flex;align-items:center;gap:.35rem}.ct-pb-pts{color:var(--ct-gold);font-weight:600}.ct-pb-practice{font-size:.78rem;color:var(--ct-primary);text-decoration:none}.ct-pb-practice:hover{text-decoration:underline}.ct-practice-missed-list{display:flex;flex-direction:column;gap:.5rem}.ct-btn-practice{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--ct-primary-light);color:var(--ct-primary-dark);border:1px solid var(--ct-primary-mid);border-radius:10px;font-size:.82rem;text-decoration:none;width:-moz-fit-content;width:fit-content}.ct-btn-practice:hover{background:var(--ct-primary-mid)}.ct-rules-content{font-size:.9rem;line-height:1.6;color:var(--ct-text-2);white-space:pre-wrap}.ct-rules-summary{display:flex;flex-direction:column;gap:.6rem;font-size:.9rem}.ct-rules-row{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--ct-border)}.ct-rules-row:last-child{border-bottom:none}.ct-rules-label{font-weight:600;color:var(--ct-text);min-width:180px;flex-shrink:0}.ct-rules-value{color:var(--ct-text-2)}.ct-widget{padding:1.1rem;display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--ct-border);border-radius:16px;background:var(--ct-bg2);box-shadow:0 1px 3px #0000000d}.ct-widget-header{display:flex;align-items:center;justify-content:space-between}.ct-widget-title{display:flex;align-items:center;gap:.45rem;font-weight:700;font-size:.88rem;color:var(--ct-text)}.ct-widget-best-rank{font-size:.75rem;color:var(--ct-gold);font-weight:600}.ct-widget-spinner{display:flex;justify-content:center;padding:1rem}.ct-widget-manager{display:flex;flex-direction:column;gap:.75rem}.ct-widget-manager-stat{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--ct-text-2)}.ct-widget-manager-stat strong{color:var(--ct-text)}.ct-widget-active,.ct-widget-upcoming,.ct-widget-empty{display:flex;flex-direction:column;gap:.5rem}.ct-widget-active-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;color:var(--ct-green)}.ct-widget-contest-name{font-weight:700;font-size:.9rem;color:var(--ct-text);line-height:1.35}.ct-widget-countdown{display:flex;align-items:baseline;gap:.4rem}.ct-widget-countdown-label{font-size:.72rem;color:var(--ct-text-muted)}.ct-widget-countdown-val{font-family:DM Mono,monospace;font-size:1.1rem;font-weight:700}.ct-widget-upcoming-label{font-size:.72rem;color:var(--ct-text-muted);text-transform:uppercase}.ct-widget-upcoming-meta{font-size:.78rem;color:var(--ct-text-muted);display:flex;align-items:center;gap:.35rem}.ct-widget-cta{width:100%;justify-content:center;margin-top:.25rem}.ct-widget-empty{align-items:center;text-align:center;padding:.5rem 0}.ct-registered-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--ct-green-light);color:var(--ct-green);border-radius:10px;font-size:.82rem;font-weight:600;border:1px solid var(--ct-green-border)}.ct-staff-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--ct-text-muted);padding:.35rem .65rem;background:var(--ct-bg3);border:1px solid var(--ct-border);border-radius:8px}@media(max-width:768px){.ct-list-header{padding:2.5rem 1.25rem 2rem}.ct-filter-bar{padding:1rem 1.25rem;top:0}.ct-cards-grid{padding:1rem 1.25rem;grid-template-columns:1fr}.ct-diff-pills{display:none}.ct-search-wrap{max-width:100%}.ct-global-stats{gap:0}.ct-gstat{padding:0 .75rem}}.contest-manager-wrap{min-height:100vh;background:var(--bg, #fafafe)}.contest-manager-wrap .glass-card{background:var(--dash-glass);border:1px solid var(--dash-glass-border)}.cm-header{padding:2rem;border-bottom:1px solid var(--dash-glass-border)}.cm-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.cm-role-badge{font-size:.72rem;padding:.35rem .7rem;border-radius:8px;font-weight:600}.cm-role-badge-instructor{background:#0f766e33;color:var(--dash-secondary);border:1px solid rgba(15,118,110,.3)}.cm-role-badge-designer{background:#fbbf2426;color:var(--dash-accent);border:1px solid rgba(251,191,36,.25)}.cm-role-badge-admin{background:#ea580c26;color:var(--dash-primary);border:1px solid rgba(234,88,12,.25)}.cm-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;padding:1.5rem 2rem}.cm-card{border-radius:16px;padding:1.5rem;border:1px solid var(--dash-glass-border);background:var(--dash-glass);transition:border-color .2s,transform .2s}.cm-card:hover{border-color:#ea580c40}.cm-card-status{font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:.4rem}.cm-card-status-draft{background:#94a3b826;color:#94a3b8}.cm-card-status-published{background:#3b82f626;color:#60a5fa}.cm-card-status-active{background:#10b98126;color:#10b981}.cm-card-status-frozen{background:#8b5cf626;color:#a78bfa}.cm-card-status-ended{background:#64748b26;color:#94a3b8}.cm-card-status-finalized{background:#10b9811a;color:#34d399}.cm-card-status-cancelled{background:#ef444426;color:#f87171}.cm-card-title{font-size:1.1rem;font-weight:700;margin:0 0 .5rem}.cm-card-meta{font-size:.78rem;color:var(--dash-text-muted);display:flex;gap:1rem;flex-wrap:wrap}.cm-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.cm-tabs{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--dash-glass-border);margin-bottom:1.5rem}.cm-tab{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--dash-text-secondary);font-weight:500;cursor:pointer;transition:all .2s}.cm-tab:hover{color:var(--dash-text)}.cm-tab.active{color:var(--dash-primary);border-bottom-color:var(--dash-primary)}.cm-form-group{margin-bottom:1.25rem}.cm-form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--dash-text)}.cm-form-group input,.cm-form-group select,.cm-form-group textarea{width:100%;padding:.6rem .9rem;background:var(--dash-bg-secondary);border:1px solid var(--dash-glass-border);border-radius:10px;color:var(--dash-text);font-size:.9rem}.cm-form-group input:focus,.cm-form-group textarea:focus{outline:none;border-color:var(--dash-primary)}.cm-wizard-content{max-width:960px;margin:0 auto;padding:0 2rem 3rem}.cm-wizard-steps{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.cm-wizard-step{padding:.5rem 1rem;border-radius:8px;font-size:.82rem;font-weight:500;color:var(--dash-text-muted);border:1px solid var(--dash-glass-border)}.cm-wizard-step.done{color:var(--dash-primary);border-color:var(--dash-primary);background:var(--primary-light, #e0f5fd)}.cm-wizard-step.current{background:var(--dash-primary);color:var(--primary-text, #0c4a6e);border-color:var(--dash-primary)}.cm-wizard-step-card{background:var(--dash-glass);border:1px solid var(--dash-glass-border);border-radius:16px;padding:1.5rem 1.75rem;width:100%}.cm-wizard-sections-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.cm-wizard-sections-grid{grid-template-columns:1fr 1fr}}.cm-problems-actions{margin-bottom:1.25rem}.cm-problems-list{display:flex;flex-direction:column;gap:.5rem}.cm-problem-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0003;border:1px solid var(--dash-glass-border);border-radius:10px}.cm-problem-order{font-weight:700;min-width:28px;color:var(--dash-primary)}.cm-problem-title{flex:1;font-weight:500;color:var(--dash-text)}.cm-problem-points{display:flex;align-items:center;gap:.35rem}.cm-problem-points input{width:70px;padding:.4rem .5rem;background:var(--dash-bg-secondary);border:1px solid var(--dash-glass-border);border-radius:8px;color:var(--dash-text);font-size:.9rem}.cm-problem-pts-label{font-size:.8rem;color:var(--dash-text-muted)}.cm-problem-remove{padding:.35rem .6rem!important;font-size:.8rem!important}.cm-problems-empty{padding:2rem;text-align:center;background:#00000026;border:1px dashed var(--dash-glass-border);border-radius:12px;color:var(--dash-text-muted);font-size:.9rem}.cm-review-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.cm-review-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cm-review-grid{grid-template-columns:repeat(3,1fr)}}.cm-review-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;border-bottom:1px solid var(--dash-glass-border)}.cm-review-item:last-child{border-bottom:none}.cm-review-label{font-size:.75rem;font-weight:600;color:var(--dash-text-muted);text-transform:uppercase}.cm-review-value{font-size:.9rem;color:var(--dash-text)}.cm-table{width:100%;border-collapse:collapse}.cm-table th,.cm-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--dash-glass-border)}.cm-table th{font-size:.75rem;font-weight:600;color:var(--dash-text-muted);text-transform:uppercase}.cm-table tr:hover{background:#ffffff05}.plagiarism-warning{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:12px;margin-bottom:1rem}.rules-editor{background:var(--dash-glass);border:1px solid var(--dash-glass-border);border-radius:16px;padding:1.5rem 1.75rem;width:100%}.rules-sections-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:900px){.rules-sections-grid{grid-template-columns:1fr 1fr}}@media(min-width:1200px){.rules-sections-grid{grid-template-columns:repeat(3,1fr)}}.rules-section--full{grid-column:1 / -1}.rules-editor-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;color:var(--dash-primary)}.rules-editor-title{margin:0 0 .2rem;font-size:1.25rem;font-weight:700;color:var(--dash-text)}.rules-editor-subtitle{margin:0;font-size:.85rem;color:var(--dash-text-muted)}.rules-section{padding:1.25rem;background:#0003;border:1px solid var(--dash-glass-border);border-radius:12px}.rules-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.rules-fields-row{grid-template-columns:1fr}}.rules-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.rules-section-icon{color:var(--dash-primary);flex-shrink:0}.rules-section-title{margin:0;font-size:.95rem;font-weight:700;color:var(--dash-text)}.rules-section-hint{margin-left:auto;font-size:.75rem;font-weight:500;color:var(--dash-text-muted)}.rules-section-body{display:flex;flex-direction:column;gap:1rem}.rules-field{display:flex;flex-direction:column;gap:.35rem}.rules-field label{font-size:.83rem;font-weight:600;color:var(--dash-text)}.rules-field input,.rules-field select{width:100%;padding:.5rem .75rem;background:var(--dash-bg-secondary);border:1px solid var(--dash-glass-border);border-radius:8px;color:var(--dash-text);font-size:.9rem}.rules-field input:focus,.rules-field select:focus{outline:none;border-color:var(--dash-primary)}.rules-field-help{font-size:.75rem;color:var(--dash-text-muted)}.rules-field-check label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.rules-field-check input{width:auto;max-width:none}.rules-lang-chips{display:flex;flex-wrap:wrap;gap:.5rem}.rules-lang-chip{padding:.4rem .9rem;font-size:.82rem;font-weight:500;border-radius:8px;border:1px solid var(--dash-glass-border);background:var(--dash-bg-secondary);color:var(--dash-text-muted);cursor:pointer;transition:all .2s}.rules-lang-chip:hover{border-color:var(--dash-primary);color:var(--dash-text)}.rules-lang-chip.selected{background:#ea580c26;border-color:var(--dash-primary);color:var(--dash-primary)}.rules-editor-actions{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--dash-glass-border)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:DM Mono,JetBrains Mono,Fira Code,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text)}h4,h5,h6{color:var(--text);font-weight:600}h1{font-size:2.25rem;line-height:1.2;font-weight:700}h2{font-size:1.5rem;line-height:1.3;font-weight:600}h3{font-size:1.25rem;line-height:1.35;font-weight:600}h4{font-size:1.125rem;line-height:1.4;font-weight:600}h5{font-size:1rem;line-height:1.5;font-weight:600}h6{font-size:.875rem;line-height:1.5;font-weight:600}p{color:var(--text-secondary)}code{font-family:var(--font-mono);background:var(--surface-alt);padding:.2em .45em;border-radius:.3em;font-size:.85em;color:#0c4a6e;border:1px solid var(--border)}.monaco-editor span,.cm-editor span,[class*=cm-] span{color:unset!important}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:.01em;padding:.5rem 1.125rem;border-radius:8px;border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;outline-offset:2px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .15s ease}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);background-size:200% 100%;background-position:200% 0;transition:background-position .4s ease;pointer-events:none;border-radius:inherit}.btn:hover:not(:disabled):after{background-position:-200% 0}.btn:before{content:"";position:absolute;inset:0;background:#ffffff26;border-radius:inherit;opacity:0;transform:scale(.85);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.btn:active:not(:disabled):before{opacity:1;transform:scale(1)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn svg{flex-shrink:0;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--primary-hover, #4ec9f5) 0%,var(--primary, #72d3f7) 100%);color:var(--primary-text, #0c4a6e);border-color:var(--primary, #72d3f7);box-shadow:0 1px 3px #72d3f759,0 0 #72d3f700}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary, #72d3f7) 0%,var(--primary-hover, #4ec9f5) 100%);box-shadow:0 4px 14px #72d3f773;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 1px 4px #72d3f74d}.btn-secondary{background:var(--surface, #fff);color:var(--text, #0f172a);border-color:var(--border, #e2e8f0);box-shadow:0 1px 3px #0000000f}.btn-secondary:hover:not(:disabled){background:var(--surface-alt, #f1f5f9);border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);box-shadow:0 4px 12px #72d3f726;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.98)}.btn-secondary:after{background:linear-gradient(105deg,transparent 40%,rgba(114,211,247,.1) 50%,transparent 60%);background-size:200% 100%;background-position:200% 0}.btn-outline{background:transparent;color:var(--primary-text, #0c4a6e);border-color:var(--primary, #72d3f7)}.btn-outline:hover:not(:disabled){background:var(--primary-light, #e0f5fd);border-color:var(--primary-hover, #4ec9f5);box-shadow:0 4px 12px #72d3f733;transform:translateY(-1px)}.btn-outline:active:not(:disabled){transform:translateY(0) scale(.98);background:var(--primary-medium, #bbeaf8)}.btn-outline:after{background:linear-gradient(105deg,transparent 40%,rgba(114,211,247,.15) 50%,transparent 60%);background-size:200% 100%;background-position:200% 0}.btn-back,.btn-back-student,.btn-back-simple,.btn-back-queue,.btn-nav-back{background:transparent;color:var(--text-secondary, #475569);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.4rem .875rem;display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .15s ease;white-space:nowrap;font-family:var(--font-sans);position:relative;overflow:hidden}.btn-back:hover:not(:disabled),.btn-back-student:hover:not(:disabled),.btn-back-simple:hover:not(:disabled),.btn-back-queue:hover:not(:disabled),.btn-nav-back:hover:not(:disabled){background:var(--primary-light, #e0f5fd);border-color:var(--primary, #72d3f7);color:var(--primary-text, #0c4a6e);transform:translate(-2px)}.btn-back:active:not(:disabled),.btn-back-student:active:not(:disabled),.btn-back-simple:active:not(:disabled){transform:translate(0) scale(.97)}.btn-cancel,.btn-cancel-review{background:var(--surface-alt, #f1f5f9);color:var(--text-secondary, #475569);border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.5rem 1.125rem;font-size:.875rem;font-weight:600;cursor:pointer;font-family:var(--font-sans);display:inline-flex;align-items:center;gap:6px;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .15s ease;white-space:nowrap;position:relative;overflow:hidden}.btn-cancel:hover:not(:disabled),.btn-cancel-review:hover:not(:disabled){background:var(--border, #e2e8f0);color:var(--text, #0f172a);transform:translateY(-1px)}.btn-cancel:active:not(:disabled),.btn-cancel-review:active:not(:disabled){transform:scale(.97)}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-sm{font-size:.8125rem;padding:.375rem .875rem;border-radius:6px;gap:5px}.btn-icon.btn-sm{width:30px;height:30px;border-radius:6px}.btn--active,.btn.active,.btn.\!active{background:var(--primary-light, #e0f5fd)!important;border-color:var(--primary, #72d3f7)!important;color:var(--primary-text, #0c4a6e)!important;box-shadow:inset 0 1px 3px #72d3f733!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-hover)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:8px}.\!input{width:100%!important;padding:.5625rem .875rem!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:8px!important;color:var(--text)!important;font-family:var(--font-sans)!important;font-size:.875rem!important;transition:border-color .15s,box-shadow .15s!important;outline:none!important}.input{width:100%;padding:.5625rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font-sans);font-size:.875rem;transition:border-color .15s,box-shadow .15s;outline:none}.\!input::-moz-placeholder{color:var(--text-placeholder)!important}.\!input::placeholder{color:var(--text-placeholder)!important}.input::-moz-placeholder{color:var(--text-placeholder)}.input::placeholder{color:var(--text-placeholder)}.\!input:hover{border-color:var(--border-hover)!important}.input:hover{border-color:var(--border-hover)}.\!input:focus{border-color:var(--primary)!important;box-shadow:var(--shadow-glow)!important}.input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.\!input:disabled{background:var(--surface-alt)!important;color:var(--text-muted)!important;cursor:not-allowed!important}.input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed}.profile-input{width:100%;padding:.875rem 1rem;background:var(--surface);border:2px solid var(--border);border-radius:10px;color:var(--text);font-family:var(--font-sans);font-size:1rem;transition:border-color .15s,box-shadow .15s;outline:none}.profile-input::-moz-placeholder{color:var(--text-placeholder)}.profile-input::placeholder{color:var(--text-placeholder)}.profile-input:focus{border-color:var(--primary);box-shadow:var(--shadow-glow)}.profile-input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed}select.\!input{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;padding-right:36px!important}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{background:var(--surface-alt);color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:10px 16px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:var(--surface-alt)}.table tbody tr:nth-child(2n){background:#f1f5f980}.table tbody tr:nth-child(2n):hover{background:var(--surface-alt)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-primary{background:var(--primary-light);color:var(--primary-text)}.glass{background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8)}.glass-card{background:#fffc;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);padding:24px;transition:box-shadow .2s ease}.glass-card:hover{box-shadow:var(--shadow-lg)}.page-header{margin-bottom:32px}.divider{height:1px;background:var(--border);margin:24px 0}.gradient-text{background:linear-gradient(135deg,var(--primary) 0%,#38bdf8 40%,#0ea5e9 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-badge-pass{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:var(--success-light);color:#065f46}.dashboard-badge-fail{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:var(--danger-light);color:#991b1b}.dashboard-badge-pending{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;background:var(--warning-light);color:#92400e}.forge-bar{background:linear-gradient(180deg,#fffffff2,#fafafeeb);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(114,211,247,.2);box-shadow:0 1px #72d3f71f,0 4px 24px -4px #00000012;position:relative}.forge-bar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(114,211,247,.3) 25%,rgba(56,189,248,.4) 50%,rgba(114,211,247,.3) 75%,transparent 100%);pointer-events:none}body.dark-page .forge-bar{background:linear-gradient(180deg,#030712eb,#060b18e0);border-bottom:1px solid rgba(114,211,247,.12);box-shadow:0 1px #72d3f714,0 4px 24px -4px #0000004d}body.dark-page .forge-bar-link{color:#94a3b8}body.dark-page .forge-bar-link:hover,body.dark-page .forge-bar-link.active{color:var(--primary)}body.dark-page .forge-bar-link.\!active{color:var(--primary)!important}body.dark-page .forge-bar-user-pill{background:#ffffff0d;border-color:#72d3f733;color:#f1f5f9}body.dark-page .forge-bar-mobile{background:linear-gradient(180deg,#030712fa,#060b18fc)}body.dark-page .forge-bar-mobile-link{color:#94a3b8}body.dark-page .forge-bar-mobile-link:hover{color:var(--primary);background:#72d3f712}.forge-bar-link{position:relative;color:#475569;font-weight:500;transition:color .15s}.forge-bar-link:after{content:"";position:absolute;left:50%;bottom:-4px;width:0;height:2px;background:linear-gradient(90deg,var(--primary),#38bdf8);border-radius:1px;transition:width .2s ease,left .2s ease;transform:translate(-50%)}.forge-bar-link:hover{color:var(--primary)}.forge-bar-link:hover:after,.forge-bar-link.active:after,.forge-bar-link-active:after{width:100%;left:50%;transform:translate(-50%)}.forge-bar-link.\!active:after{width:100%!important;left:50%!important;transform:translate(-50%)!important}.forge-bar-link.active,.forge-bar-link-active{color:var(--primary)}.forge-bar-link.\!active{color:var(--primary)!important}.forge-flyout-root{position:relative;display:inline-flex}.forge-flyout-trigger{display:inline-flex;align-items:center;gap:4px;color:#475569;font-weight:500;padding:8px 12px;border-radius:6px;transition:color .15s,background .15s;cursor:pointer;border:none;background:transparent;font-size:.875rem}.forge-flyout-trigger:hover{color:var(--primary);background:#72d3f712}.forge-flyout-trigger[data-open=true]{color:var(--primary);background:#72d3f71a}.forge-flyout-trigger svg{width:14px;height:14px;transition:transform .2s}.forge-flyout-trigger[data-open=true] svg{transform:rotate(180deg)}.forge-flyout-panel{position:absolute;top:100%;left:0;margin-top:4px;min-width:14rem;padding:6px 0;background:linear-gradient(180deg,#fffffffa,#fafafefa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(114,211,247,.2);border-radius:10px;box-shadow:0 8px 24px -4px #0000001a;z-index:100;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .18s,transform .18s;overflow:hidden}.forge-flyout-panel[data-open=true]{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.forge-flyout-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(114,211,247,.6) 40%,rgba(56,189,248,.8) 60%,transparent);opacity:0;transition:opacity .18s}.forge-flyout-panel[data-open=true]:before{opacity:1}.forge-flyout-header{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#72d3f7b3;padding:6px 12px 2px}.forge-flyout-link{display:flex;align-items:center;gap:8px;padding:7px 12px;margin:0 4px;border-radius:6px;color:#475569;font-size:.875rem;font-weight:500;transition:color .15s,background .15s}.forge-flyout-link:hover{color:var(--primary);background:#72d3f714}.forge-flyout-link.active{color:var(--primary);background:#72d3f71f}.forge-flyout-link.\!active{color:var(--primary)!important;background:#72d3f71f!important}.forge-flyout-spark{display:none}.forge-bar-user-pill{background:#ffffffb3;border:1px solid rgba(114,211,247,.25);border-radius:9999px;padding:4px 12px;transition:border-color .15s,box-shadow .15s}.forge-bar-user-pill:hover{border-color:#72d3f780;box-shadow:0 0 10px #72d3f71f}.forge-bar-logout{background:transparent;border:1px solid rgba(220,38,38,.35);color:#dc2626;border-radius:6px;padding:5px 14px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.forge-bar-logout:hover{background:#dc262614;border-color:#dc262680;color:#b91c1c}.forge-bar-mobile{background:linear-gradient(180deg,#fffffffa,#fafafefc);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(114,211,247,.15)}.forge-bar-mobile-link{border-radius:8px;color:#475569;transition:color .15s,background .15s}.forge-bar-mobile-link:hover{color:var(--primary);background:#72d3f712}.forge-bar-mobile-link.active{color:var(--primary);background:#72d3f71a}.forge-bar-mobile-link.\!active{color:var(--primary)!important;background:#72d3f71a!important}@media(min-width:768px){.forge-bar-mobile-tablet{max-height:min(calc(100vh - 4.5rem),80vh);overflow-y:auto}.forge-bar-mobile-inner{max-width:28rem;margin:0 auto}.forge-bar-mobile-link{min-height:2.75rem;display:flex;align-items:center}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-2{inset:-.5rem}.inset-0{inset:0}.inset-\[-8px\]{inset:-8px}.inset-\[1px\]{inset:1px}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-40{bottom:-10rem}.-left-40{left:-10rem}.-right-1{right:-.25rem}.-right-16{right:-4rem}.-right-40{right:-10rem}.-top-1{top:-.25rem}.-top-16{top:-4rem}.-top-40{top:-10rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-\[-20\%\]{bottom:-20%}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:.75rem}.left-\[-5\%\]{left:-5%}.left-\[calc\(50\%\/3\+3\.5rem\)\]{left:calc(50% / 3 + 3.5rem)}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-7{right:1.75rem}.right-\[-8\%\]{right:-8%}.right-\[calc\(50\%\/3\+3\.5rem\)\]{right:calc(50% / 3 + 3.5rem)}.top-0{top:0}.top-1\/2{top:50%}.top-24{top:6rem}.top-4{top:1rem}.top-5{top:1.25rem}.top-8{top:2rem}.top-\[-25\%\]{top:-25%}.top-full{top:100%}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[60\]{z-index:60}.z-\[9997\]{z-index:9997}.z-\[9998\]{z-index:9998}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.m-0{margin:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[18px\]{height:18px}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[320px\]{max-height:320px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0px}.min-h-\[18px\]{min-height:18px}.min-h-\[200px\]{min-height:200px}.min-h-\[36px\]{min-height:36px}.min-h-\[56px\]{min-height:56px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-\[calc\(100vh-4rem\)\]{min-height:calc(100vh - 4rem)}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[24px\]{min-width:24px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[100vw\]{max-width:100vw}.max-w-\[110px\]{max-width:110px}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[80px\]{max-width:80px}.max-w-\[8rem\]{max-width:8rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:left}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[slideUp_0\.3s_ease-out\]{animation:slideUp .3s ease-out}.animate-fade-up{animation:fadeUp .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-scale-in{animation:scaleIn .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.animate-shake{animation:shake .4s cubic-bezier(.22,1,.36,1)}.animate-spin{animation:spin 1s linear infinite}@keyframes scaleX{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.animate-tab-indicator{animation:scaleX .3s cubic-bezier(.22,1,.36,1) forwards}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.rounded-br-xl{border-bottom-right-radius:.75rem}.rounded-tl-xl{border-top-left-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-\[var\(--dash-primary\)\]{border-color:var(--dash-primary)}.border-accent-500\/20{border-color:#eab30833}.border-accent-500\/30{border-color:#eab3084d}.border-accent-600\/30{border-color:#ca8a044d}.border-blue-600\/30{border-color:#2563eb4d}.border-current{border-color:currentColor}.border-dark-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-dark-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-dark-700\/50{border-color:#33415580}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-500\/20{border-color:#22c55e33}.border-green-600\/30{border-color:#16a34a4d}.border-green-600\/50{border-color:#16a34a80}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-orange-400{--tw-border-opacity: 1;border-color:rgb(251 146 60 / var(--tw-border-opacity, 1))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-primary-400{--tw-border-opacity: 1;border-color:rgb(78 201 245 / var(--tw-border-opacity, 1))}.border-primary-500{--tw-border-opacity: 1;border-color:rgb(41 190 243 / var(--tw-border-opacity, 1))}.border-primary-500\/0{border-color:#29bef300}.border-primary-500\/20{border-color:#29bef333}.border-primary-500\/30{border-color:#29bef34d}.border-primary-500\/40{border-color:#29bef366}.border-primary-500\/50{border-color:#29bef380}.border-primary-600\/30{border-color:#0ea5e94d}.border-primary-600\/50{border-color:#0ea5e980}.border-purple-600\/30{border-color:#9333ea4d}.border-red-500\/20{border-color:#ef444433}.border-red-500\/50{border-color:#ef444480}.border-red-600\/30{border-color:#dc26264d}.border-secondary-600\/30{border-color:#0d94884d}.border-surface-500{--tw-border-opacity: 1;border-color:rgb(120 113 108 / var(--tw-border-opacity, 1))}.border-surface-700{--tw-border-opacity: 1;border-color:rgb(68 64 60 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-500\/20{border-color:#eab30833}.border-yellow-600\/30{border-color:#ca8a044d}.border-r-primary-500{--tw-border-opacity: 1;border-right-color:rgb(41 190 243 / var(--tw-border-opacity, 1))}.border-t-primary-500{--tw-border-opacity: 1;border-top-color:rgb(41 190 243 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#27C93F\]{--tw-bg-opacity: 1;background-color:rgb(39 201 63 / var(--tw-bg-opacity, 1))}.bg-\[\#FF5F56\]{--tw-bg-opacity: 1;background-color:rgb(255 95 86 / var(--tw-bg-opacity, 1))}.bg-\[\#FFBD2E\]{--tw-bg-opacity: 1;background-color:rgb(255 189 46 / var(--tw-bg-opacity, 1))}.bg-\[var\(--bg-hover\)\]{background-color:var(--bg-hover)}.bg-\[var\(--bg-secondary\)\]{background-color:var(--bg-secondary)}.bg-\[var\(--bg-tertiary\)\]{background-color:var(--bg-tertiary)}.bg-\[var\(--dash-surface-800\)\]{background-color:var(--dash-surface-800)}.bg-accent-500\/10{background-color:#eab3081a}.bg-accent-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-accent-600\/20{background-color:#ca8a0433}.bg-accent-900\/20{background-color:#713f1233}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/50{background-color:#00000080}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/20{background-color:#2563eb33}.bg-dark-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-dark-700\/50{background-color:#33415580}.bg-dark-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-dark-800\/50{background-color:#1e293b80}.bg-dark-800\/80{background-color:#1e293bcc}.bg-dark-800\/90{background-color:#1e293be6}.bg-dark-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-dark-900\/30{background-color:#0f172a4d}.bg-dark-900\/50{background-color:#0f172a80}.bg-dark-900\/60{background-color:#0f172a99}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700\/50{background-color:#37415180}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/20{background-color:#16a34a33}.bg-green-600\/30{background-color:#16a34a4d}.bg-green-900\/10{background-color:#14532d1a}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(41 190 243 / var(--tw-bg-opacity, 1))}.bg-primary-500\/10{background-color:#29bef31a}.bg-primary-500\/20{background-color:#29bef333}.bg-primary-500\/40{background-color:#29bef366}.bg-primary-600{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-primary-600\/10{background-color:#0ea5e91a}.bg-primary-600\/20{background-color:#0ea5e933}.bg-primary-600\/30{background-color:#0ea5e94d}.bg-primary-900\/30{background-color:#0c4a6e4d}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-600\/20{background-color:#9333ea33}.bg-purple-900\/20{background-color:#581c8733}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/30{background-color:#ef44444d}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/20{background-color:#dc262633}.bg-secondary-600{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.bg-secondary-600\/20{background-color:#0d948833}.bg-surface-500\/20{background-color:#78716c33}.bg-surface-800{--tw-bg-opacity: 1;background-color:rgb(41 37 36 / var(--tw-bg-opacity, 1))}.bg-surface-900\/50{background-color:#1c191780}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-yellow-600\/20{background-color:#ca8a0433}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-60{--tw-bg-opacity: .6}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-accent-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-accent-500\/10{--tw-gradient-from: rgb(234 179 8 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-accent-500\/30{--tw-gradient-from: rgb(234 179 8 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-accent-600\/25{--tw-gradient-from: rgb(202 138 4 / .25) var(--tw-gradient-from-position);--tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/90{--tw-gradient-from: rgb(245 158 11 / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from: #29bef3 var(--tw-gradient-from-position);--tw-gradient-to: rgb(41 190 243 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500\/20{--tw-gradient-from: rgb(41 190 243 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(41 190 243 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-500\/5{--tw-gradient-from: rgb(41 190 243 / .05) var(--tw-gradient-from-position);--tw-gradient-to: rgb(41 190 243 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-600\/20{--tw-gradient-from: rgb(14 165 233 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary-900\/50{--tw-gradient-from: rgb(12 74 110 / .5) var(--tw-gradient-from-position);--tw-gradient-to: rgb(12 74 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #ef4444 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500\/10{--tw-gradient-from: rgb(239 68 68 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-accent-500\/20{--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(234 179 8 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary-600\/25{--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(14 165 233 / .25) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-accent-500{--tw-gradient-to: #eab308 var(--tw-gradient-to-position)}.to-accent-600{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.to-accent-600\/20{--tw-gradient-to: rgb(202 138 4 / .2) var(--tw-gradient-to-position)}.to-accent-600\/25{--tw-gradient-to: rgb(202 138 4 / .25) var(--tw-gradient-to-position)}.to-accent-600\/5{--tw-gradient-to: rgb(202 138 4 / .05) var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-primary-500\/20{--tw-gradient-to: rgb(41 190 243 / .2) var(--tw-gradient-to-position)}.to-primary-500\/30{--tw-gradient-to: rgb(41 190 243 / .3) var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to: #0284c7 var(--tw-gradient-to-position)}.to-primary-900\/20{--tw-gradient-to: rgb(12 74 110 / .2) var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #dc2626 var(--tw-gradient-to-position)}.to-secondary-500{--tw-gradient-to: #14b8a6 var(--tw-gradient-to-position)}.to-secondary-500\/20{--tw-gradient-to: rgb(20 184 166 / .2) var(--tw-gradient-to-position)}.to-secondary-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-left{-o-object-position:left;object-position:left}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-9{padding:2.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-36{padding-top:9rem;padding-bottom:9rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Outfit,system-ui,sans-serif}.font-mono{font-family:DM Mono,JetBrains Mono,Fira Code,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-body{font-size:1rem;line-height:1.6}.text-body-lg{font-size:1.125rem;line-height:1.6}.text-display-md{font-size:2.5rem;line-height:1.15;letter-spacing:-.02em;font-weight:700}.text-display-sm{font-size:2rem;line-height:1.2;letter-spacing:-.01em;font-weight:600}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.06\]{line-height:1.06}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#0f172a\]{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-\[\#475569\]{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-accent-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-accent-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-primary-300{--tw-text-opacity: 1;color:rgb(114 211 247 / var(--tw-text-opacity, 1))}.text-primary-400{--tw-text-opacity: 1;color:rgb(78 201 245 / var(--tw-text-opacity, 1))}.text-primary-400\/80{color:#4ec9f5cc}.text-primary-500{--tw-text-opacity: 1;color:rgb(41 190 243 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.text-surface-300{--tw-text-opacity: 1;color:rgb(214 211 209 / var(--tw-text-opacity, 1))}.text-surface-400{--tw-text-opacity: 1;color:rgb(168 162 158 / var(--tw-text-opacity, 1))}.text-surface-50{--tw-text-opacity: 1;color:rgb(250 250 249 / var(--tw-text-opacity, 1))}.text-surface-500{--tw-text-opacity: 1;color:rgb(120 113 108 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/75{color:#ffffffbf}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-400\/80{color:#facc15cc}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-15{opacity:.15}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-\[0\.12\]{opacity:.12}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-accent-500\/10{--tw-shadow-color: rgb(234 179 8 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-accent-500\/30{--tw-shadow-color: rgb(234 179 8 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-accent-500\/50{--tw-shadow-color: rgb(234 179 8 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-500\/10{--tw-shadow-color: rgb(41 190 243 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-500\/20{--tw-shadow-color: rgb(41 190 243 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-500\/30{--tw-shadow-color: rgb(41 190 243 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-500\/50{--tw-shadow-color: rgb(41 190 243 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-primary-900\/20{--tw-shadow-color: rgb(12 74 110 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(239 68 68 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.ring-green-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.ring-primary-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(41 190 243 / var(--tw-ring-opacity, 1))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur: blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--font-sans: "Inter", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--font-display: "Outfit", system-ui, sans-serif;--primary: #72d3f7;--primary-hover: #4ec9f5;--primary-active: #29bef3;--primary-light: #e0f5fd;--primary-medium: #bbeaf8;--primary-text: #0c4a6e;--primary-glow: rgba(114, 211, 247, .25);--bg: #fafafe;--surface: #ffffff;--surface-alt: #f1f5f9;--surface-raised:#ffffff;--text: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-placeholder: #b8c5d6;--border: #e2e8f0;--border-focus: #72d3f7;--border-hover: #cbd5e1;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 10px 10px -5px rgba(15, 23, 42, .04);--shadow-glow: 0 0 0 3px rgba(114, 211, 247, .2);--success: #10b981;--success-light: #d1fae5;--warning: #f59e0b;--warning-light: #fef3c7;--danger: #ef4444;--danger-light: #fee2e2;--info: #72d3f7;--info-light: #e0f5fd;--sidebar-width: 260px;--sidebar-collapsed: 72px;--sidebar-bg: #ffffff;--sidebar-border: #e9edf2;--sidebar-item-h: 40px;--nav-hover-bg: #f1f8fd;--nav-active-bg: #e0f5fd;--nav-active-border: #72d3f7;--nav-active-text: #0c4a6e;--nav-icon-color: #64748b;--nav-label-color: #334155;--nav-section-color: #94a3b8;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--sidebar-transition: .22s var(--ease-out);--bg-primary: var(--bg);--bg-secondary: var(--surface);--bg-tertiary: var(--surface-alt);--bg-hover: var(--surface-alt);--border-color: var(--border);--text-primary: var(--text);--primary-500: var(--primary);--secondary-500: var(--success);--shadow-color: rgba(15, 23, 42, .08)}html,body,#root{background-color:var(--bg);color:var(--text)}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.app-main{flex:1;min-width:0;margin-left:var(--sidebar-width);transition:margin-left var(--sidebar-transition);display:flex;flex-direction:column}.app-main--collapsed{margin-left:var(--sidebar-collapsed)}@media(max-width:1023px){.app-main,.app-main--collapsed{margin-left:0}}.app-topbar{display:flex;align-items:center;gap:12px;height:56px;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40}.app-topbar-brand{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.app-content{flex:1;padding:16px 32px 48px;max-width:100%}@media(max-width:767px){.app-content{padding:12px 16px 40px}}.assignment-attempt-shell{margin:-16px -32px -48px;display:flex;flex-direction:column;height:calc(100vh - 16px);background:var(--bg-primary);overflow:hidden}@media(max-width:767px){.assignment-attempt-shell{margin:-12px -16px -40px;height:calc(100vh - 12px)}}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.app-loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;z-index:50;transition:width var(--sidebar-transition),transform var(--sidebar-transition),box-shadow var(--sidebar-transition);overflow:hidden;box-shadow:var(--shadow-sm)}.sidebar--collapsed{width:var(--sidebar-collapsed)}.sidebar--peeking{width:var(--sidebar-width);box-shadow:4px 0 24px #0f172a1f,1px 0 0 var(--sidebar-border);z-index:52}@media(max-width:1023px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important;box-shadow:var(--shadow-xl)}.sidebar--mobile-open{transform:translate(0)}}.sidebar-backdrop{position:fixed;inset:0;background:#0f172a59;z-index:49;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeInBd .18s ease}@keyframes fadeInBd{0%{opacity:0}to{opacity:1}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 16px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0;overflow:hidden}.sidebar-header.collapsed{padding:0 12px;justify-content:center}.sidebar-mobile-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:background .15s,color .15s}.sidebar-mobile-close:hover{background:var(--surface-alt);color:var(--text)}.sidebar-toggle{align-items:center;justify-content:center;width:100%;height:36px;background:transparent;border:none;border-bottom:1px solid var(--sidebar-border);color:var(--nav-icon-color);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.sidebar-toggle:hover{background:var(--nav-hover-bg);color:var(--primary-text)}.sidebar-toggle svg{transition:transform var(--sidebar-transition)}.sidebar-toggle.collapsed svg{transform:rotate(180deg)}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.sidebar-section{margin-bottom:4px}.sidebar-section-items{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:8px 10px 4px;cursor:pointer;transition:color .15s}.sidebar-section-header:hover .sidebar-section-title{color:var(--text-secondary)}.sidebar-section-title{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-section-color);transition:color .15s}.sidebar-section-chevron{color:var(--nav-section-color);transition:transform .25s var(--ease-in-out);flex-shrink:0}.sidebar-section-chevron.open{transform:rotate(180deg)}.sidebar-section-anim{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.sidebar-section-anim.closed{grid-template-rows:0fr}.sidebar-section-anim>.sidebar-section-items{min-height:0;overflow:hidden}.sidebar-divider{height:1px;background:var(--sidebar-border);margin:6px 8px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;height:var(--sidebar-item-h);padding:0 10px;border-radius:8px;color:var(--nav-label-color);text-decoration:none;font-size:.875rem;font-weight:500;position:relative;transition:background .15s ease,color .15s ease;white-space:nowrap;overflow:hidden}.sidebar-nav-item:hover{background:var(--nav-hover-bg);color:var(--primary-text)}.sidebar-nav-item:hover .sidebar-nav-icon{color:var(--primary)}.sidebar-nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600}.sidebar-nav-item.active .sidebar-nav-icon{color:var(--nav-active-border)}.sidebar-nav-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:var(--nav-active-border)}.sidebar-nav-item.collapsed,.sidebar-nav-item.icon-only{padding:0;justify-content:center;gap:0}.sidebar-nav-item.icon-only .sidebar-nav-icon{width:40px;height:40px;border-radius:8px}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--nav-icon-color);transition:color .15s;width:38px;height:38px;border-radius:8px}.sidebar-nav-label-wrap{flex:1;min-width:0;overflow:hidden;transition:opacity var(--sidebar-transition)}.sidebar-nav-item.icon-only .sidebar-nav-label-wrap{display:none}.sidebar--collapsed .sidebar-nav-label-wrap{opacity:0;pointer-events:none}.sidebar-nav-label{display:flex;align-items:center;justify-content:space-between;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--primary);color:var(--primary-text);font-size:.6875rem;font-weight:600;flex-shrink:0}.sidebar-badge-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--primary);border:2px solid var(--sidebar-bg)}.sidebar-tooltip-wrapper{position:relative;display:block}.sidebar-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--text);color:var(--bg);font-size:.8125rem;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:200;box-shadow:var(--shadow-md)}.sidebar-tooltip-arrow{position:absolute;right:100%;top:50%;transform:translateY(-50%);width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid var(--text)}.sidebar--collapsed:not(.sidebar--peeking) .sidebar-tooltip-wrapper:hover .sidebar-tooltip{opacity:1}@media(max-width:1023px){.sidebar-tooltip{display:none}}.sidebar-footer{display:flex;flex-direction:column;gap:2px;padding:8px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-footer.collapsed{padding:8px 6px;align-items:center}.sidebar-footer-action{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:8px;color:var(--nav-label-color);font-size:.875rem;font-weight:500;text-decoration:none;background:transparent;border:none;cursor:pointer;width:100%;transition:background .15s,color .15s}.sidebar-footer-action:hover{background:var(--nav-hover-bg);color:var(--primary-text)}.sidebar-footer-action.active{background:var(--nav-active-bg);color:var(--nav-active-text)}.sidebar-footer-action.collapsed,.sidebar-footer-action.icon-only{width:40px;justify-content:center;padding:0}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:default;transition:background .15s}.sidebar-user:hover{background:var(--nav-hover-bg)}.sidebar-user.collapsed{padding:4px;justify-content:center}.sidebar-user-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);color:var(--primary-text);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;flex-shrink:0}.sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar-user-name{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.6875rem;color:var(--text-muted);text-transform:capitalize;white-space:nowrap}.sidebar-logout-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0}.sidebar-logout-btn:hover{background:var(--danger-light);color:var(--danger)}.sidebar-mobile-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.sidebar-mobile-trigger:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-text)}.sidebar-collapse-tab{position:fixed;top:50%;left:var(--sidebar-width);transform:translate(-50%,-50%);width:20px;height:36px;background:var(--surface);border:1px solid var(--border);border-radius:0 8px 8px 0;color:var(--text-muted);cursor:pointer;display:none;align-items:center;justify-content:center;z-index:51;transition:left var(--sidebar-transition),background .15s,color .15s,box-shadow .15s;box-shadow:3px 0 8px #0f172a14;padding:0}.sidebar-collapse-tab:hover{background:var(--primary-light);color:var(--primary-text);box-shadow:3px 0 12px #72d3f740}.sidebar-collapse-tab svg{transition:transform var(--sidebar-transition);flex-shrink:0}.sidebar-collapse-tab.collapsed{left:var(--sidebar-collapsed)}.sidebar-collapse-tab.collapsed svg{transform:rotate(180deg)}@media(min-width:1024px){.sidebar-collapse-tab{display:flex}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:2000px;opacity:1}}@keyframes bounceIn{0%{transform:scale(.95);opacity:0}60%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pulseGlow{0%{box-shadow:0 0 #72d3f780}70%{box-shadow:0 0 0 8px #72d3f700}to{box-shadow:0 0 #72d3f700}}@keyframes gradient-x{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes morphBlob{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}@keyframes textReveal{0%{opacity:0;transform:translateY(1em)}to{opacity:1;transform:translateY(0)}}@keyframes staggerIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-20deg)}}.animate-fadeIn{animation:fadeIn .5s var(--ease-out) both}.animate-fadeUp{animation:fadeUp .6s var(--ease-out) both}.animate-scaleIn{animation:scaleIn .4s var(--ease-out) both}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-slow{animation:float 9s ease-in-out infinite}.animate-gradient-x{background-size:200% 200%;animation:gradient-x 3s ease infinite}.waving-hand{display:inline-block;transform-origin:70% 70%;animation:wave 1s ease-in-out infinite}.animate-text-reveal{animation:textReveal .8s var(--ease-out) both}.animate-stagger-in{animation:staggerIn .6s var(--ease-out) both}.animate-bounce-in{animation:bounceIn .4s var(--ease-out) both}.animate-shake{animation:shake .4s var(--ease-out)}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-slide-in-right{animation:slideInRight .5s var(--ease-out) both}.animate-slide-down{animation:slideDown .4s var(--ease-out) both}.animate-morph-blob{animation:morphBlob 12s ease-in-out infinite}.spinner{border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);width:36px;height:36px;animation:spin .85s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-enhanced{border:3px solid rgba(0,0,0,.08);border-radius:50%;border-top-color:var(--primary);width:20px;height:20px;animation:spin .85s linear infinite}.bg-grid-pattern{background-image:linear-gradient(rgba(114,211,247,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(114,211,247,.06) 1px,transparent 1px);background-size:48px 48px}.lp-shell{display:flex;min-height:100vh;background:var(--bg)}.lp-left{position:relative;flex:0 0 55%;max-width:55%;background:linear-gradient(145deg,#0c4a6e,#0369a1 45%,#0284c7 70%,#075985);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.lp-blob{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px)}.lp-blob-1{width:420px;height:420px;background:#72d3f72e;top:-100px;right:-80px}.lp-blob-2{width:340px;height:340px;background:#07598559;bottom:-60px;left:-60px}.lp-grid-bg{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.lp-left-inner{position:relative;z-index:2;padding:48px 52px 40px;display:flex;flex-direction:column;gap:40px;flex:1}.lp-logo-link{display:inline-flex;align-items:center;border-radius:8px;outline-offset:4px}.lp-logo-link:focus-visible{outline:2px solid rgba(255,255,255,.7)}.lp-logo-img{height:36px;width:auto;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}.lp-hero{max-width:420px}.lp-hero-heading{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.875rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:#fff;margin:0 0 16px}.lp-hero-accent{color:#72d3f7}.lp-hero-sub{font-size:1rem;line-height:1.65;color:#ffffffb3;max-width:380px;margin:0}.lp-stats{display:flex;gap:36px}.lp-stat{display:flex;flex-direction:column;gap:2px}.lp-stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1}.lp-stat-label{font-size:.8125rem;color:#ffffff8c;font-weight:500}.lp-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.lp-feature-item{display:flex;align-items:flex-start;gap:14px}.lp-feature-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;background:#72d3f726;border:1px solid rgba(114,211,247,.25);display:flex;align-items:center;justify-content:center;color:#72d3f7;margin-top:1px}.lp-feature-title{font-size:.9375rem;font-weight:600;color:#ffffffeb;margin:0 0 2px;line-height:1.3}.lp-feature-desc{font-size:.8125rem;color:#ffffff80;margin:0;line-height:1.5}.lp-left-footer{position:relative;z-index:2;padding:24px 52px 36px;border-top:1px solid rgba(255,255,255,.08)}.lp-quote{font-size:.875rem;font-style:italic;color:#ffffff73;margin:0;max-width:400px;line-height:1.6}.lp-right{flex:1;display:flex;flex-direction:column;background:var(--surface);position:relative}.lp-right:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:1px;background:linear-gradient(180deg,transparent,var(--border),transparent)}.lp-right-topbar{display:flex;align-items:center;justify-content:flex-end;padding:20px 40px;border-bottom:1px solid var(--border)}.lp-back-link{display:inline-flex;align-items:center;gap:6px;font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:6px;padding:4px 8px;transition:color .15s,background .15s}.lp-back-link:hover{color:var(--text);background:var(--surface-alt)}.lp-form-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 52px;max-width:480px;width:100%;margin:0 auto}.lp-form-header{margin-bottom:32px}.lp-form-title{font-family:var(--font-display);font-size:1.875rem;font-weight:700;color:var(--text);letter-spacing:-.025em;margin:0 0 6px}.lp-form-sub{font-size:.9375rem;color:var(--text-muted);margin:0}.lp-error-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:20px}.lp-form{display:flex;flex-direction:column;gap:20px}.lp-field{display:flex;flex-direction:column;gap:6px}.lp-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.lp-label-row{display:flex;align-items:center;justify-content:space-between}.lp-forgot-link{font-size:.8125rem;font-weight:500;color:#0284c7;text-decoration:none;transition:color .15s}.lp-forgot-link:hover{color:#0369a1;text-decoration:underline}.lp-input-wrap{position:relative;display:flex;align-items:center}.lp-input-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none;display:flex;align-items:center}.lp-input{width:100%;height:44px;padding:0 14px 0 42px;font-family:var(--font-sans);font-size:.9375rem;color:var(--text);background:var(--surface);border:1.5px solid var(--border);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}.lp-input::-moz-placeholder{color:var(--text-placeholder)}.lp-input::placeholder{color:var(--text-placeholder)}.lp-input:hover{border-color:var(--border-hover)}.lp-input:focus{border-color:#72d3f7;box-shadow:0 0 0 3px #72d3f733}.lp-input--pw{padding-right:46px}.lp-pw-toggle{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;transition:color .15s,background .15s}.lp-pw-toggle:hover{color:var(--text);background:var(--surface-alt)}.lp-submit{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;width:100%;padding:0 24px;margin-top:4px;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;color:#0c4a6e;background:#72d3f7;border:none;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #72d3f759;transition:background .18s,box-shadow .18s,transform .18s}.lp-submit:hover:not(:disabled){background:#4ec9f5;box-shadow:0 6px 20px #72d3f773;transform:translateY(-1px)}.lp-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #72d3f740}.lp-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.lp-submit:focus-visible{outline:2px solid #72d3f7;outline-offset:2px}.lp-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(12,74,110,.25);border-top-color:#0c4a6e;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.lp-terms{margin-top:24px;font-size:.8125rem;color:var(--text-muted);text-align:center;line-height:1.6}.lp-terms-link{color:#0284c7;text-decoration:none;font-weight:500}.lp-terms-link:hover{text-decoration:underline}@media(max-width:1024px){.lp-left{flex:0 0 45%;max-width:45%}.lp-left-inner{padding:36px 32px 32px;gap:28px}.lp-left-footer{padding:20px 32px 28px}.lp-form-wrap{padding:36px}.lp-hero-heading{font-size:1.875rem}.lp-features{gap:14px}}@media(max-width:767px){.lp-shell{flex-direction:column}.lp-left{flex:0 0 auto;max-width:100%}.lp-left-inner{padding:28px 24px 24px;gap:20px}.lp-features,.lp-stats,.lp-quote,.lp-left-footer{display:none}.lp-hero-heading{font-size:1.5rem}.lp-hero-sub{font-size:.875rem}.lp-right:before{display:none}.lp-right-topbar,.lp-back-link{display:none}.lp-form-wrap{padding:28px 24px 40px;max-width:100%}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sidebar,.app-main{transition:none!important}}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded::file-selector-button{border-radius:.25rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-primary-600::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-white::file-selector-button{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-\[var\(--primary-500\)\]:focus-within{--tw-ring-color: var(--primary-500)}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width: 2px}.focus-within\:ring-offset-\[var\(--bg-primary\)\]:focus-within{--tw-ring-offset-color: var(--bg-primary)}.hover\:translate-y-0:hover{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--dash-glass-border\)\]:hover{border-color:var(--dash-glass-border)}.hover\:border-dark-600:hover{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.hover\:border-primary-500\/50:hover{border-color:#29bef380}.hover\:border-primary-600\/50:hover{border-color:#0ea5e980}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-\[var\(--bg-secondary\)\]:hover{background-color:var(--bg-secondary)}.hover\:bg-amber-700:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity, 1))}.hover\:bg-black\/10:hover{background-color:#0000001a}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600\/50:hover{background-color:#4b556380}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-green-900\/20:hover{background-color:#14532d33}.hover\:bg-primary-700:hover{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-700:hover{--tw-bg-opacity: 1;background-color:rgb(68 64 60 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-700\/30:hover{background-color:#44403c4d}.hover\:bg-surface-700\/50:hover{background-color:#44403c80}.hover\:bg-surface-800:hover{--tw-bg-opacity: 1;background-color:rgb(41 37 36 / var(--tw-bg-opacity, 1))}.hover\:bg-surface-800\/30:hover{background-color:#2925244d}.hover\:bg-surface-800\/50:hover{background-color:#29252480}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-yellow-700:hover{--tw-bg-opacity: 1;background-color:rgb(161 98 7 / var(--tw-bg-opacity, 1))}.hover\:bg-opacity-50:hover{--tw-bg-opacity: .5}.hover\:from-primary-600:hover{--tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-accent-600:hover{--tw-gradient-to: #ca8a04 var(--tw-gradient-to-position)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-accent-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:text-amber-200:hover{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-primary-300:hover{--tw-text-opacity: 1;color:rgb(114 211 247 / var(--tw-text-opacity, 1))}.hover\:text-primary-400:hover{--tw-text-opacity: 1;color:rgb(78 201 245 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-secondary-300:hover{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.hover\:text-surface-300:hover{--tw-text-opacity: 1;color:rgb(214 211 209 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-black\/20:hover{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary-500\/10:hover{--tw-shadow-color: rgb(41 190 243 / .1);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary-500\/30:hover{--tw-shadow-color: rgb(41 190 243 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-primary-500\/40:hover{--tw-shadow-color: rgb(41 190 243 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-white\/50:hover{--tw-ring-color: rgb(255 255 255 / .5)}.hover\:file\:bg-primary-500::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(41 190 243 / var(--tw-bg-opacity, 1))}.focus\:border-primary-500:focus{--tw-border-opacity: 1;border-color:rgb(41 190 243 / var(--tw-border-opacity, 1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(41 190 243 / var(--tw-ring-opacity, 1))}.focus\:ring-primary-500\/20:focus{--tw-ring-color: rgb(41 190 243 / .2)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-primary-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(41 190 243 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-sky-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-surface-950:focus-visible{--tw-ring-offset-color: #0c0a09}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-white\/10:active{background-color:#ffffff1a}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}.group:hover .group-hover\:-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-10{opacity:.1}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:inline{display:inline}.sm\:w-64{width:16rem}.sm\:max-w-\[340px\]{max-width:340px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:col-span-2{grid-column:span 2 / span 2}.md\:mb-2{margin-bottom:.5rem}.md\:mt-2{margin-top:.5rem}.md\:block{display:block}.md\:inline{display:inline}.md\:hidden{display:none}.md\:h-1\.5{height:.375rem}.md\:h-3{height:.75rem}.md\:h-3\.5{height:.875rem}.md\:h-4{height:1rem}.md\:h-5{height:1.25rem}.md\:min-h-\[24px\]{min-height:24px}.md\:min-h-\[280px\]{min-height:280px}.md\:w-1\.5{width:.375rem}.md\:w-10{width:2.5rem}.md\:w-2{width:.5rem}.md\:w-20{width:5rem}.md\:w-3{width:.75rem}.md\:w-3\.5{width:.875rem}.md\:w-4{width:1rem}.md\:max-w-none{max-width:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.md\:rounded-xl{border-radius:.75rem}.md\:p-10{padding:2.5rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:py-1{padding-top:.25rem;padding-bottom:.25rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:pr-6{padding-right:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-\[11px\]{font-size:11px}.md\:text-\[14px\]{font-size:14px}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-display-lg{font-size:3.5rem;line-height:1.1;letter-spacing:-.02em;font-weight:700}.md\:text-display-md{font-size:2.5rem;line-height:1.15;letter-spacing:-.02em;font-weight:700}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:leading-\[1\.8\]{line-height:1.8}.min-\[768px\]\:h-10{height:2.5rem}.min-\[768px\]\:h-7{height:1.75rem}.min-\[768px\]\:h-\[4\.5rem\]{height:4.5rem}.min-\[768px\]\:min-h-\[2\.75rem\]{min-height:2.75rem}.min-\[768px\]\:w-10{width:2.5rem}.min-\[768px\]\:w-7{width:1.75rem}.min-\[768px\]\:gap-3{gap:.75rem}.min-\[768px\]\:space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.min-\[768px\]\:p-3{padding:.75rem}.min-\[768px\]\:px-4{padding-left:1rem;padding-right:1rem}.min-\[768px\]\:px-6{padding-left:1.5rem;padding-right:1.5rem}.min-\[768px\]\:py-3{padding-top:.75rem;padding-bottom:.75rem}.min-\[768px\]\:py-4{padding-top:1rem;padding-bottom:1rem}.min-\[768px\]\:text-base{font-size:1rem;line-height:1.5rem}}@media(min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[4\.25rem\]{height:4.25rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:gap-12{gap:3rem}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:text-5xl{font-size:3rem;line-height:1}}@media(min-width:1280px){.xl\:flex{display:flex}.xl\:max-w-\[10rem\]{max-width:10rem}.xl\:gap-2{gap:.5rem}.xl\:gap-3{gap:.75rem}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:px-8{padding-left:2rem;padding-right:2rem}}@media(prefers-color-scheme:dark){.dark\:bg-blue-900\/30{background-color:#1e3a8a4d}.dark\:bg-emerald-900\/30{background-color:#064e3b4d}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/30{background-color:#7f1d1d4d}.dark\:bg-yellow-900\/30{background-color:#713f124d}.dark\:text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700\/50:hover{background-color:#37415180}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
