 body.theme-material{--theme-bg:#263238;--theme-surface:#37474F;--theme-secondary-bg:#273238;--theme-border:#403e3e;--theme-active-line:rgba(0,0,0,.5);--theme-selection:rgba(128,203,196,.2);--theme-text:#EEFFFF;--theme-text-alt:#EEFFFF;--theme-secondary-text:#B0BEC5;--theme-muted-text:#546E7A;--theme-heading:#627db8;--theme-keyword:#c3e88e;--theme-operator:#89DDFF;--theme-variable:#F07178;--theme-function:#82AAFF;--theme-string:#C3E88D;--theme-number:#FF5370;--theme-comment:#546E7A;--theme-tag:#FF5370;--theme-property:#C792EA;--theme-builtin:#FFCB6B;--theme-atom:#F78C6C;--theme-cursor:#FFCC00;--theme-primary:#2e997d;--theme-secondary:#1be24d;--theme-success:#C3E88D;--theme-warning:#FFCB6B;--theme-error:#FF5370}body.theme-dracula{--theme-bg:#282a36;--theme-surface:#44475a;--theme-secondary-bg:#282a36;--theme-border:#4b4b4b;--theme-active-line:#44475a;--theme-selection:rgba(255,255,255,.1);--theme-text:#f8f8f2;--theme-text-alt:#000000;--theme-secondary-text:#f8f8f2;--theme-muted-text:#6272a4;--theme-heading:#736aae!important;--theme-keyword:#11ac38;--theme-operator:#8be9fd;--theme-variable:#f8f8f2;--theme-function:#8be9fd;--theme-string:#f1fa8c;--theme-number:#bd93f9;--theme-comment:#6272a4;--theme-tag:#ff79c6;--theme-property:#8be9fd;--theme-builtin:#ffb86c;--theme-atom:#bd93f9;--theme-cursor:#f8f8f0;--theme-primary:#cdd294;--theme-secondary:#c8d455;--theme-success:#72da8c;--theme-warning:#ffb86c;--theme-error:#ff79c6}body.theme-monokai{--theme-bg:#272822;--theme-surface:#3E3D32;--theme-secondary-bg:#35352D;--theme-border:#49483E;--theme-active-line:#3E3D32;--theme-selection:rgba(73,72,62,.5);--theme-text:#F8F8F2;--theme-text-dark:#000000;--theme-secondary-text:#cfcfc2;--theme-muted-text:#75715E;--theme-keyword:#F92672;--theme-operator:#F8F8F2;--theme-variable:#F8F8F2;--theme-function:#A6E22E;--theme-string:#E6DB74;--theme-number:#AE81FF;--theme-comment:#75715E;--theme-tag:#F92672;--theme-property:#A6E22E;--theme-builtin:#66D9EF;--theme-atom:#AE81FF;--theme-cursor:#F8F8F0;--theme-primary:#66D9EF;--theme-secondary:#FD971F;--theme-success:#A6E22E;--theme-warning:#E6DB74;--theme-error:#F92672}html:has(body[class*="theme-"]){background-color:var(--theme-bg)}body[class*="theme-"] .CodeMirror{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .CodeMirror-activeline-background{background:var(--theme-active-line)!important}body[class*="theme-"] .CodeMirror-selected{background:var(--theme-selection)!important}body[class*="theme-"] .CodeMirror-cursor{border-left:1px solid var(--theme-cursor)!important}body[class*="theme-"] #output-box code,body[class*="theme-"] #test-container code{color:var(--theme-text)!important}body[class*="theme-"] #output-box .keyword,body[class*="theme-"] #test-container .keyword{color:var(--theme-keyword)!important}body[class*="theme-"] #output-box .string,body[class*="theme-"] #test-container .string{color:var(--theme-string)!important}body[class*="theme-"] #output-box .number,body[class*="theme-"] #test-container .number{color:var(--theme-number)!important}body[class*="theme-"] #output-box .comment,body[class*="theme-"] #test-container .comment{color:var(--theme-comment)!important;font-style:italic}body[class*="theme-"] #output-box .function,body[class*="theme-"] #test-container .function{color:var(--theme-function)!important}body[class*="theme-"] .icon-function::before{color:var(--theme-function)!important}body[class*="theme-"] .icon-keyword::before{color:var(--theme-keyword)!important}body[class*="theme-"] .icon-variable::before{color:var(--theme-variable)!important}body[class*="theme-"] .editor-container{background-color:var(--theme-bg)!important}body[class*="theme-"] #output-box,body[class*="theme-"] #test-container{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .header{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .header h1{color:var(--theme-text)!important}body[class*="theme-"] .left-container,body[class*="theme-"] .right-container{background-color:var(--theme-secondary-bg)!important;border-color:var(--theme-border)!important}body[class*="theme-"] #project-description{color:var(--theme-text)!important}body[class*="theme-"] #project-description h1{background-color:transparent!important;color:var(--theme-heading)!important}body[class*="theme-"] #project-description h2,body[class*="theme-"] #project-description h3,body[class*="theme-"] #project-description h4{color:var(--theme-keyword)!important;border-bottom:2px solid var(--theme-border)!important}body[class*="theme-"] #project-description blockquote{border-left:3px solid var(--theme-secondary)!important;color:var(--theme-secondary-text)!important}body[class*="theme-"] #project-description code{color:var(--theme-function)!important;background-color:color-mix(in srgb,var(--theme-bg) 80%,var(--theme-border) 20%)!important;padding:2px 4px;border-radius:3px}body[class*="theme-"] #project-description pre code{display:block!important;padding:0!important;margin:0!important;text-indent:0!important;background-color:transparent!important}body[class*="theme-"] .left-container h2,body[class*="theme-"] #project-title,body[class*="theme-"] #programoutput{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] input,body[class*="theme-"] textarea,body[class*="theme-"] select{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] #userInputBox{background-color:var(--theme-bg)!important;color:var(--theme-primary)!important}body[class*="theme-"] #inputValues{background-color:var(--theme-bg)!important;color:var(--theme-text)!important}body[class*="theme-"] pre{}body[class*="theme-"] .tab-container{background-color:var(--theme-surface)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .tabs_wrap{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .tabs_wrap ul li{background:var(--theme-surface)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}body[class*="theme-"] .tabs_wrap ul li:hover,body[class*="theme-"] .tabs_wrap ul li.active{background:var(--theme-success)!important;color:var(--theme-bg)!important}body[class*="theme-"] .tab{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .tab.active{background-color:var(--theme-bg)!important}body[class*="theme-"] .tab input{background-color:var(--theme-secondary-bg)!important;color:var(--theme-text)!important}body[class*="theme-"] li.tab.active input{background-color:var(--theme-bg)!important}body[class*="theme-"] #add-tab{color:var(--theme-primary)!important;background-color:transparent!important;font-weight:600}body[class*="theme-"] #add-tab:hover{background-color:var(--theme-surface)!important}body[class*="theme-"] #slider{background:var(--theme-border)!important}body[class*="theme-"] #slider::-webkit-slider-thumb{background:var(--theme-primary)!important}body[class*="theme-"] #slider::-moz-range-thumb{background:var(--theme-primary)!important}body[class*="theme-"] #back-arrow,body[class*="theme-"] #forward-arrow{background-color:var(--theme-surface)!important;border-color:transparent!important;color:var(--theme-text)!important}body[class*="theme-"] #back-arrow:hover,body[class*="theme-"] #forward-arrow:hover{background-color:rgba(255,255,255,.1)!important}body[class*="theme-"] button:not(.run-button):not(.run-tests-button):not(.submit-button):not(.showInputs):not(.video-button):not(.accordion-title):not(.gutter-comment-icon):not(.view-switcher-btn):not(.pylint-gutter-icon):not(.pylint-detail-close):not(.pylint-detail-close){background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-surface)!important;border:1px solid var(--theme-border)!important}body[class*="theme-"] button:not(.run-button):not(.run-tests-button):not(.submit-button):not(.showInputs):not(.video-button):not(.accordion-title):not(.view-switcher-btn):not(.pylint-gutter-icon):not(.pylint-detail-close):hover{background-color:var(--theme-secondary-bg)!important;border-color:var(--theme-primary)!important;border:1px solid var(--theme-primary)!important}body[class*="theme-"] .run-button.run{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] .run-button.run:hover{background-color:var(--theme-bg)!important;color:var(--theme-primary)!important;border:solid 1px var(--theme-primary)!important}body[class*="theme-"] .run-button.stop{background-color:var(--theme-error)!important;color:var(--theme-text)!important}body[class*="theme-"] .run-button.stop:hover{background-color:var(--theme-text)!important;color:var(--theme-error)!important;border:solid 1px var(--theme-error)!important}body[class*="theme-"] .run-tests-button{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] .run-tests-button:hover{background-color:var(--theme-bg)!important;color:var(--theme-primary)!important;border:solid 1px var(--theme-primary)!important}body[class*="theme-"] .submit-button{background-color:var(--theme-secondary);color:var(--theme-bg)!important}body[class*="theme-"] .submit-button:hover{background-color:var(--theme-bg);color:var(--theme-secondary)!important;border:solid 1px var(--theme-secondary)!important}body[class*="theme-"] .showInputs{background-color:var(--theme-success)!important;color:var(--theme-bg)!important}body[class*="theme-"] .showInputs:hover{background-color:var(--theme-bg)!important;color:var(--theme-success)!important;border:solid 1px var(--theme-success)!important}body[class*="theme-"] .sidebar{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .sidebar-header{background-color:var(--theme-surface)!important}body[class*="theme-"] .draggable-handle{background-color:var(--theme-border)!important}body[class*="theme-"] .test-box{border-color:var(--theme-border)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-box.passed{background-color:color-mix(in srgb,var(--theme-success) 30%,var(--theme-bg) 70%)!important}body[class*="theme-"] .test-box.failed{background-color:color-mix(in srgb,var(--theme-error) 30%,var(--theme-bg) 70%)!important}body[class*="theme-"] span.status.passed{background-color:var(--theme-bg)!important;color:var(--theme-success)!important}body[class*="theme-"] span.status.failed{background-color:var(--theme-bg)!important;color:var(--theme-error)!important}body[class*="theme-"] .test-detail-item{background-color:var(--theme-surface)!important;border:1px solid rgba(255,255,255,.2)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-detail-item strong{color:var(--theme-text)!important}body[class*="theme-"] .test-detail-item pre{background-color:var(--theme-bg)!important;border:1px solid rgba(255,255,255,.2)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-output-comparison{color:var(--theme-text)!important}body[class*="theme-"] .test-output-column strong{color:var(--theme-text)!important}body[class*="theme-"] .test-output-box-compare{background-color:var(--theme-bg)!important;border:1px solid rgba(255,255,255,.2)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-output-expected .test-output-box-compare{background-color:color-mix(in srgb,var(--theme-success) 10%,var(--theme-bg) 90%)!important;border-color:var(--theme-success)!important}body[class*="theme-"] .test-output-actual .test-output-box-compare{background-color:color-mix(in srgb,var(--theme-error) 10%,var(--theme-bg) 90%)!important;border-color:var(--theme-error)!important}body[class*="theme-"] .test-output-expected.match .test-output-box-compare,body[class*="theme-"] .test-output-actual.match .test-output-box-compare{background-color:color-mix(in srgb,var(--theme-success) 15%,var(--theme-bg) 85%)!important;border-color:var(--theme-success)!important}body[class*="theme-"] .test-details{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-output-header-row{background-color:var(--theme-surface)!important;border-bottom:2px solid rgba(255,255,255,.2)!important}body[class*="theme-"] .test-output-header{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-right:2px solid rgba(255,255,255,.2)!important}body[class*="theme-"] .test-output-header.expected{background-color:color-mix(in srgb,var(--theme-success) 15%,var(--theme-surface) 85%)!important}body[class*="theme-"] .test-output-header.actual{background-color:color-mix(in srgb,var(--theme-success) 15%,var(--theme-surface) 85%)!important}body[class*="theme-"] .test-output-header.actual.failed{background-color:color-mix(in srgb,var(--theme-error) 15%,var(--theme-surface) 85%)!important}body[class*="theme-"] .test-output-raw-header{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-label{color:var(--theme-text)!important}body[class*="theme-"] .test-expected-warning-box{background-color:color-mix(in srgb,var(--theme-warning) 15%,var(--theme-bg) 85%)!important;border-color:var(--theme-warning)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-expected-neutral-box{background-color:var(--theme-surface)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-actual-failed-box{background-color:color-mix(in srgb,var(--theme-error) 15%,var(--theme-bg) 85%)!important;border-color:var(--theme-error)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-actual-passed-box{background-color:color-mix(in srgb,var(--theme-success) 15%,var(--theme-bg) 85%)!important;border-color:var(--theme-success)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-pattern-box{background-color:color-mix(in srgb,#3b82f6 10%,var(--theme-bg) 90%)!important;border-color:#3b82f6!important;color:#93c5fd!important}body[class*="theme-"] .regex-test-container,body[class*="theme-"] .contains-test-container{color:var(--theme-text)!important}body[class*="theme-"] .test-result-header.passed{background-color:color-mix(in srgb,var(--theme-success) 20%,var(--theme-bg) 80%)!important;border-color:var(--theme-success)!important;color:var(--theme-success)!important}body[class*="theme-"] .test-result-header.failed{background-color:color-mix(in srgb,var(--theme-error) 20%,var(--theme-bg) 80%)!important;border-color:var(--theme-error)!important;color:var(--theme-error)!important}body[class*="theme-"] .test-section-label{color:var(--theme-text)!important}body[class*="theme-"] .test-expected-box{background-color:color-mix(in srgb,#3b82f6 12%,var(--theme-bg) 88%)!important;border-color:#60a5fa!important;color:var(--theme-text)!important}body[class*="theme-"] .test-expected-box.warning{background-color:color-mix(in srgb,var(--theme-warning) 15%,var(--theme-bg) 85%)!important;border-color:var(--theme-warning)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-output-box.passed{background-color:color-mix(in srgb,var(--theme-success) 10%,var(--theme-bg) 90%)!important;border-color:var(--theme-success)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-output-box.failed{background-color:color-mix(in srgb,var(--theme-error) 10%,var(--theme-bg) 90%)!important;border-color:var(--theme-error)!important;color:var(--theme-text)!important}body[class*="theme-"] .test-match-highlight{background-color:color-mix(in srgb,var(--theme-success) 30%,var(--theme-bg) 70%)!important;color:var(--theme-success)!important}body[class*="theme-"] #project-description pre,body[class*="theme-"] .description-container pre{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .modal-content,body[class*="theme-"] .parsons-modal-content,body[class*="theme-"] .custom-modal-content,body[class*="theme-"] .star-modal-content,body[class*="theme-"] .turtle-modal-content{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .close{color:var(--theme-primary)!important;background-color:var(--theme-surface)!important;border-color:var(--theme-primary)!important}body[class*="theme-"] .video-button{background-color:var(--theme-success)!important;color:var(--theme-bg)!important}body[class*="theme-"] .video-button:hover{background-color:color-mix(in srgb,var(--theme-success) 80%,white 20%)!important}body[class*="theme-"] .accordion .accordion-title{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] .accordion-content{background-color:var(--theme-bg)!important;color:var(--theme-text)!important}body[class*="theme-"] table,body[class*="theme-"] tbody,body[class*="theme-"] th,body[class*="theme-"] td{border-color:var(--theme-border)!important;background-color:var(--theme-bg)!important;color:var(--theme-text)!important}body[class*="theme-"] th{background-color:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] #parsons-source-container,body[class*="theme-"] #parsons-solution-container{background-color:transparent!important}body[class*="theme-"] .sortable-container{background-color:color-mix(in srgb,var(--theme-bg) 82%,var(--theme-surface) 18%)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .parsons-header{color:var(--theme-text)!important;background-color:var(--theme-surface)!important;border:1px solid var(--theme-border)!important;border-radius:8px!important;padding:8px 12px!important}body[class*="theme-"] .parsons-draggable-block{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important;box-shadow:0 2px 8px rgba(0,0,0,.28)!important}body[class*="theme-"] .parsons-draggable-block:hover{background-color:var(--theme-secondary-bg)!important}body[class*="theme-"] .parsons-draggable-line,body[class*="theme-"] .parsons-draggable-line .line-content,body[class*="theme-"] .parsons-draggable-line .line-indent-display{color:var(--theme-text)!important}body[class*="theme-"] .parsons-line-correct{background-color:color-mix(in srgb,var(--theme-success) 18%,var(--theme-bg) 82%)!important;color:var(--theme-text)!important;border-left-color:var(--theme-success)!important}body[class*="theme-"] .parsons-line-incorrect{background-color:color-mix(in srgb,var(--theme-error) 18%,var(--theme-bg) 82%)!important;color:var(--theme-text)!important;border-left-color:var(--theme-error)!important}body[class*="theme-"] .parsons-solution-success{background-color:color-mix(in srgb,var(--theme-success) 16%,var(--theme-surface) 84%)!important;color:var(--theme-text)!important;border-color:var(--theme-success)!important}body[class*="theme-"] .parsons-line-success{background-color:color-mix(in srgb,var(--theme-success) 14%,var(--theme-bg) 86%)!important;color:var(--theme-text)!important;border-left-color:var(--theme-success)!important}body[class*="theme-"] #parsons-function-selector select{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] #parsons-function-selector select:hover{border-color:var(--theme-primary)!important}body[class*="theme-"] #parsons-function-selector select:focus{border-color:var(--theme-primary)!important;box-shadow:0 0 0 3px rgba(0,0,0,.2)!important}body[class*="theme-"] #parsons-function-selector{background-color:var(--theme-bg)!important;border-left-color:var(--theme-primary)!important}body[class*="theme-"] #parsons-function-selector label{color:var(--theme-text)!important}body[class*="theme-"] #parsons-function-selector .parsons-selector-hint{color:var(--theme-secondary-text)!important}body[class*="theme-"] .parsons-keyword{color:var(--theme-keyword)!important}body[class*="theme-"] .parsons-comment{color:var(--theme-comment)!important}body[class*="theme-"] .parsons-string{color:var(--theme-string)!important}body[class*="theme-"] .tab .icons{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .not-writeable-icon,body[class*="theme-"] .padlock-icon{background-color:var(--theme-secondary)!important;color:var(--theme-bg)!important;border-color:var(--theme-secondary)!important}body[class*="theme-"] .CodeMirror-hints{background-color:var(--theme-bg)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important;font-family:'Open Sans','Segoe UI',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important}body[class*="theme-"] li.CodeMirror-hint-active{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] .tooltip .tooltiptext{background-color:var(--theme-surface)!important;color:var(--theme-text)!important;border:1px solid var(--theme-border)!important}body[class*="theme-"] #loading-overlay{background-color:rgba(0,0,0,.7)!important}body[class*="theme-"] .loading-spinner{border-color:var(--theme-bg)!important;border-top-color:var(--theme-primary)!important}body[class*="theme-"] #mycanvas,body[class*="theme-"] #p5canvas{border-color:var(--theme-border)!important;background-color:var(--theme-bg)!important}body[class*="theme-"] .CodeMirror-gutters{background-color:var(--theme-bg)!important;border-right:1px solid var(--theme-border)!important}body[class*="theme-"] .CodeMirror-linenumber{color:var(--theme-muted-text)!important}body[class*="theme-"] .CodeMirror-foldgutter-open,body[class*="theme-"] .CodeMirror-foldgutter-folded{color:var(--theme-muted-text)!important}body[class*="theme-"] .CodeMirror-matchingbracket{text-decoration:underline!important;color:var(--theme-text)!important}body[class*="theme-"] #title-bar{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] #toolbar{background-color:var(--theme-surface)!important}body[class*="theme-"] .toolbar-button{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] .toolbar-button:hover{background-color:var(--theme-secondary)!important}.CodeMirror,#output-box,#test-container,.left-container,.right-container,.header,input,textarea,select,button,.sidebar,.tab,.tab.active,.modal-content,.parsons-modal-content,pre,.test-box,.tabs_wrap ul li{transition:all .3s ease}body[class*="theme-"] .CodeMirror-lint-markers{width:16px}body[class*="theme-"] .CodeMirror-lint-tooltip{background-color:var(--theme-surface)!important;border:2px solid var(--theme-warning)!important;border-radius:8px!important;color:var(--theme-text)!important;font-family:'Rubik',sans-serif!important;font-size:12pt!important;padding:10px 15px!important;box-shadow:0 4px 8px rgba(0,0,0,.3)!important;z-index:100!important}body[class*="theme-"] .CodeMirror-lint-tooltip .CodeMirror-lint-message{display:flex!important;align-items:center!important}body[class*="theme-"] .CodeMirror-lint-tooltip .CodeMirror-lint-message-icon{margin-right:10px!important}body[class*="theme-"] .CodeMirror-lint-mark-warning{background-color:transparent!important;border-bottom:2px dotted var(--theme-warning)!important}body[class*="theme-"] .indent-dotted-text{border-bottom:2px dotted var(--theme-error)!important}body[class*="theme-"] .CodeMirror-lint-marker-warning{color:var(--theme-warning)!important;opacity:.8!important}body[class*="theme-"] .CodeMirror-lint-marker-error{color:var(--theme-error)!important;opacity:.8!important}body[class*="theme-"] .CodeMirror-lint-message-warning{color:var(--theme-warning)!important}body[class*="theme-"] .CodeMirror-lint-message-error{color:var(--theme-error)!important}body[class*="theme-"] .CodeMirror-lint-message-error:before{color:var(--theme-error)!important}body[class*="theme-"] .CodeMirror-lint-line-error{background-color:color-mix(in srgb,var(--theme-error) 15%,transparent)!important;border-left:3px solid color-mix(in srgb,var(--theme-error) 40%,transparent)!important}body[class*="theme-"] .CodeMirror-lint-line-warning{background-color:color-mix(in srgb,var(--theme-warning) 15%,transparent)!important}body[class*="theme-"] .CodeMirror-lint-marker-multiple{background-color:transparent!important;color:var(--theme-warning)!important}body[class*="theme-"] div.cm-complete-list{background-color:var(--theme-bg)!important;border:1px solid var(--theme-border)!important;border-radius:4px!important;box-shadow:0 4px 10px rgba(0,0,0,.3)!important}body[class*="theme-"] div.cm-complete-list ul{color:var(--theme-text)!important;font-family:'Open Sans','Segoe UI',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important}body[class*="theme-"] div.cm-complete-list li{padding:5px 8px!important;border-bottom:1px solid var(--theme-border)!important}body[class*="theme-"] div.cm-complete-list li:last-child{border-bottom:none!important}body[class*="theme-"] div.cm-complete-list li.cm-complete-selected{background-color:var(--theme-primary)!important;color:var(--theme-bg)!important}body[class*="theme-"] div.cm-complete-list .cm-complete-item-function{color:var(--theme-function)!important}body[class*="theme-"] div.cm-complete-list .cm-complete-item-variable{color:var(--theme-variable)!important}body[class*="theme-"] div.cm-complete-list .cm-complete-item-keyword{color:var(--theme-keyword)!important}body[class*="theme-"] div.cm-complete-list .cm-complete-item-property{color:var(--theme-property)!important}body[class*="theme-"] div.cm-complete-list .cm-complete-item-method{color:var(--theme-function)!important}body[class*="theme-"] div.cm-complete-list li.cm-complete-active{background-color:var(--theme-selection)!important}body[class*="theme-"] textarea[aria-autocomplete="list"]{color:var(--theme-text)!important;background-color:transparent!important}body[class*="theme-"] div.cm-complete-list::-webkit-scrollbar{width:8px!important}body[class*="theme-"] div.cm-complete-list::-webkit-scrollbar-track{background-color:var(--theme-bg)!important}body[class*="theme-"] div.cm-complete-list::-webkit-scrollbar-thumb{background-color:var(--theme-border)!important;border-radius:4px!important}body[class*="theme-"] div.cm-complete-list::-webkit-scrollbar-thumb:hover{background-color:var(--theme-primary)!important}body[class*="theme-"] div[aria-autocomplete="list"],body[class*="theme-"] [aria-autocomplete="list"],body[class*="theme-"] [aria-owns="cm-complete-0"]{color:var(--theme-cursor)!important;background-color:transparent!important}body[class*="theme-"] #cm-complete-0{background-color:var(--theme-bg)!important;color:var(--theme-cursor)!important;border:1px solid var(--theme-border)!important;box-shadow:0 4px 10px rgba(0,0,0,.3)!important}body[class*="theme-"] #cm-complete-0 li{border-bottom:1px solid var(--theme-border)!important;padding:5px 8px!important;font-family:'Open Sans','Segoe UI',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important}body[class*="theme-"] #cm-complete-0 li:last-child{border-bottom:none!important}body[class*="theme-"] #cm-complete-0 li[aria-selected="true"],body[class*="theme-"] #cm-complete-0 li.cm-active{background-color:var(--theme-primary)!important;color:var(--theme-text-alt)!important}body[class*="theme-"] .CodeMirror-hint{color:var(--theme-cursor)!important;font-family:'Open Sans','Segoe UI',Arial,sans-serif!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important}body[class*="theme-"] .nav-header{display:flex;align-items:center;background-color:transparent;border-bottom:none;padding:0;width:100%}body[class*="theme-"] .assignment-title-container{display:flex;align-items:center;justify-content:center;padding:5px 15px;flex-grow:1;margin:0 15px;gap:10px}body[class*="theme-"] .assignment-title{font-weight:600;font-size:16px;color:var(--theme-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}body[class*="theme-"] .toggle-nav-button{display:flex;align-items:center;gap:5px;background-color:var(--theme-surface);border:1px solid var(--theme-border);border-radius:5px;color:var(--theme-secondary-text);cursor:pointer;font-size:13px;padding:10px 10px;transition:all .2s ease}body[class*="theme-"] .toggle-nav-button:hover{background-color:var(--theme-primary);color:var(--theme-bg)}body[class*="theme-"] .toggle-nav-button .toggle-icon{display:inline-block;width:12px;height:12px;transition:transform .2s ease}body[class*="theme-"] .toggle-nav-button .toggle-icon.expanded{transform:rotate(180deg)}body[class*="theme-"] .project-navigation-container{background-color:var(--theme-surface);border-bottom:1px solid var(--theme-border);margin-bottom:0;transition:max-height .3s ease-in-out}body[class*="theme-"] .nav-content{padding:15px;background-color:var(--theme-bg);transition:max-height .3s ease-in-out,opacity .2s,padding .3s;overflow:hidden}body[class*="theme-"] .nav-content.hidden{max-height:0;padding:0 15px;opacity:0;padding-top:0;padding-bottom:0}body[class*="theme-"] .nav-controls{display:flex;align-items:center;gap:15px;margin-bottom:20px}body[class*="theme-"] .nav-button{background-color:var(--theme-bg);color:var(--theme-text);border:1px solid var(--theme-border);border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}body[class*="theme-"] .nav-button:hover:not(:disabled){background-color:var(--theme-primary);color:var(--theme-bg)}body[class*="theme-"] .nav-button:disabled{background-color:var(--theme-secondary-bg);color:var(--theme-muted-text);cursor:not-allowed;border-color:var(--theme-border)}body[class*="theme-"] .project-dropdown{flex:1;padding:8px 12px;border-radius:4px;border:1px solid var(--theme-border);font-size:14px;color:var(--theme-text);background-color:var(--theme-bg);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding-right:30px}body[class*="theme-"] .project-dropdown:focus{outline:none;border-color:var(--theme-primary);box-shadow:0 0 0 2px rgba(var(--theme-primary-rgb,46,153,125),.2)}body[class*="theme-"] .project-dropdown option[data-status="completed"]{background-color:var(--theme-success);color:var(--theme-bg)}body[class*="theme-"] .project-dropdown option[data-status="started"]{background-color:var(--theme-warning);color:var(--theme-bg)}body[class*="theme-"] .project-dropdown option[data-status="not-started"]{background-color:var(--theme-muted-text);color:var(--theme-bg)}body[class*="theme-"] .status-label{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:500;margin-right:8px}body[class*="theme-"] .status-completed{background-color:color-mix(in srgb,var(--theme-success) 30%,var(--theme-bg) 70%);color:var(--theme-success)}body[class*="theme-"] .status-started{background-color:color-mix(in srgb,var(--theme-warning) 30%,var(--theme-bg) 70%);color:var(--theme-warning)}body[class*="theme-"] .status-not-started{background-color:color-mix(in srgb,var(--theme-muted-text) 30%,var(--theme-bg) 70%);color:var(--theme-muted-text)}body[class*="theme-"] .assignment-progress{margin-top:10px}body[class*="theme-"] .progress-bar-container{margin-bottom:15px}body[class*="theme-"] .progress-bar{height:10px;background-color:var(--theme-surface);border-radius:9999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}body[class*="theme-"] .progress-fill{height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-success) 90%,transparent),color-mix(in srgb,var(--theme-success) 100%,transparent));transition:width .5s ease}body[class*="theme-"] .progress-text{font-size:12px;color:var(--theme-secondary-text);text-align:right;margin-top:6px}body[class*="theme-"] .progress-stats{display:flex;flex-wrap:wrap;flex-direction:row-reverse;gap:15px;font-size:13px;margin-top:10px}body[class*="theme-"] .stat{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px}body[class*="theme-"] .stat-completed{background-color:color-mix(in srgb,var(--theme-success) 20%,var(--theme-bg) 80%);color:var(--theme-success);border-left:3px solid var(--theme-success)}body[class*="theme-"] .stat-in-progress{background-color:color-mix(in srgb,var(--theme-warning) 20%,var(--theme-bg) 80%);color:var(--theme-warning);border-left:3px solid var(--theme-warning)}body[class*="theme-"] .stat-not-started{background-color:color-mix(in srgb,var(--theme-muted-text) 20%,var(--theme-bg) 80%);color:var(--theme-muted-text);border-left:3px solid var(--theme-muted-text)}body[class*="theme-"] .stat-indicator{width:12px;height:12px;border-radius:2px}body[class*="theme-"] .nav-loading,body[class*="theme-"] .nav-error{padding:0;text-align:center;color:var(--theme-secondary-text);font-size:12px}body[class*="theme-"] .nav-error{color:var(--theme-error)}body[class*="theme-"] .CodeMirror-vscrollbar::-webkit-scrollbar,body[class*="theme-"] .CodeMirror-hscrollbar::-webkit-scrollbar{width:10px;height:10px}body[class*="theme-"] .CodeMirror-vscrollbar::-webkit-scrollbar-track,body[class*="theme-"] .CodeMirror-hscrollbar::-webkit-scrollbar-track{background:var(--theme-bg)}body[class*="theme-"] .CodeMirror-vscrollbar::-webkit-scrollbar-thumb,body[class*="theme-"] .CodeMirror-hscrollbar::-webkit-scrollbar-thumb{background:var(--theme-primary);min-height:30px}body[class*="theme-"] .CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover,body[class*="theme-"] .CodeMirror-hscrollbar::-webkit-scrollbar-thumb:hover{background:var(--theme-secondary)}body[class*="theme-"] .CodeMirror-vscrollbar::-webkit-scrollbar-button,body[class*="theme-"] .CodeMirror-hscrollbar::-webkit-scrollbar-button{display:none;width:0;height:0}body[class*="theme-"] .time-sleep-warning{background:color-mix(in srgb,var(--theme-warning) 20%,var(--theme-bg) 80%)!important;border-color:var(--theme-warning)!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}body[class*="theme-"] .time-sleep-warning-icon{background:var(--theme-warning)!important;color:var(--theme-bg)!important}body[class*="theme-"] .time-sleep-warning-content strong{color:var(--theme-warning)!important}body[class*="theme-"] .time-sleep-warning-content p{color:var(--theme-text)!important}body[class*="theme-"] .time-sleep-warning-content code{background:color-mix(in srgb,var(--theme-warning) 30%,var(--theme-bg) 70%)!important;color:var(--theme-warning)!important}body[class*="theme-"] .input-exhaustion-warning{background:color-mix(in srgb,var(--theme-error) 20%,var(--theme-bg) 80%)!important;border-color:var(--theme-error)!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important}body[class*="theme-"] .input-exhaustion-warning-icon{background:var(--theme-error)!important;color:var(--theme-bg)!important}body[class*="theme-"] .input-exhaustion-warning-content strong{color:var(--theme-error)!important}body[class*="theme-"] .input-exhaustion-warning-content p{color:var(--theme-text)!important}body[class*="theme-"] .input-exhaustion-warning-content code{background:color-mix(in srgb,var(--theme-error) 30%,var(--theme-bg) 70%)!important;color:var(--theme-error)!important}body[class*="theme-"] .test-running-placeholder{background:color-mix(in srgb,var(--theme-surface) 60%,var(--theme-bg) 40%)!important;border-color:var(--theme-border)!important;color:var(--theme-muted-text)!important}body[class*="theme-"] .test-running-placeholder i{color:var(--theme-muted-text)!important}body[class*="theme-"] .CodeMirror-gutter-filler,body[class*="theme-"] .CodeMirror-scrollbar-filler{background-color:var(--theme-bg)!important}body[class*="theme-"] .CodeMirror-scroll,body[class*="theme-"] .right-container,body[class*="theme-"] .tab-content,body[class*="theme-"] #output-box,body[class*="theme-"] #test-container,body[class*="theme-"] #project-description{scrollbar-color:var(--theme-primary) var(--theme-bg);scrollbar-width:thin}:root{--primary-color:#4361ee;--primary-light:#eef2ff;--primary-dark:#3f37c9;--primary-hover:#3a53cc;--primary-active:#2e43a3;--secondary-color:#35d8ac;--secondary-light:#e6f7f4;--secondary-dark:#2ba98d;--text-color:#2d3748;--text-dark:#333333;--text-medium:#4a5568;--text-light:#718096;--text-white:#ffffff;--border-color:#e2e8f0;--background-light:#f5f7fa;--background-white:#ffffff;--background-dark:#1a202c;--border-light:#e2e8f0;--border-medium:#cbd5e0;--shadow-color:rgba(0,0,0,.1);--danger-color:#e53e3e;--danger-light:#feb2b2;--danger-dark:#c53030;--danger-bg:#fff5f5;--success-color:#16a34a;--success-hover:#138a3f;--warning-color:#ff9800;--box-shadow:0 4px 6px rgba(0,0,0,.1);--box-shadow-sm:0 2px 4px rgba(0,0,0,.05);--box-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--border-radius:5px;--transition:all .3s ease;--active-menu-bg:rgba(255,255,255,.15);--backdrop-overlay:rgba(0,0,0,.5);--backdrop-blur:blur(5px);--mobile-dropdown-bg:rgba(13,17,23,.95);--mobile-border:rgba(255,255,255,.1);--mobile-hover-bg:rgba(255,255,255,.1);--warning-dark:#e67e22;--danger-darkest:#c0392b;--session-warning-border:#0347b5;--session-expired-border:#e74c3c;--session-timer-bg:rgba(231,76,60,.1);--session-timer-border:rgba(231,76,60,.2);--session-timer-text:#e74c3c;--error-color:#e74c3c;--button-mint:#35d8ac;--button-mint-hover:#2ba98d;--button-mint-active:#249f7a;--button-mint-text:#ffffff;--button-mint-border:#35d8ac;--button-mint-ghost:transparent;--button-mint-ghost-hover:rgba(53,216,172,.1);--button-mint-ghost-active:rgba(53,216,172,.2);--button-mint-ghost-text:#35d8ac;--button-mint-ghost-border:#35d8ac;--button-blue:#4361ee;--button-blue-hover:#3a53cc;--button-blue-active:#2e43a3;--button-blue-text:#ffffff;--button-blue-border:#4361ee;--button-blue-ghost:transparent;--button-blue-ghost-hover:rgba(67,97,238,.1);--button-blue-ghost-active:rgba(67,97,238,.2);--button-blue-ghost-text:#4361ee;--button-blue-ghost-border:#4361ee;--button-green:#16a34a;--button-green-hover:#138a3f;--button-green-active:#0f6d31;--button-green-text:#ffffff;--button-green-border:#16a34a;--button-green-ghost:transparent;--button-green-ghost-hover:rgba(22,163,74,.1);--button-green-ghost-active:rgba(22,163,74,.2);--button-green-ghost-text:#16a34a;--button-green-ghost-border:#16a34a;--button-orange:#ff9800;--button-orange-hover:#f08c00;--button-orange-active:#d97706;--button-orange-text:#ffffff;--button-orange-border:#ff9800;--button-orange-ghost:transparent;--button-orange-ghost-hover:rgba(255,152,0,.1);--button-orange-ghost-active:rgba(255,152,0,.2);--button-orange-ghost-text:#ff9800;--button-orange-ghost-border:#ff9800;--button-purple:#8b5cf6;--button-purple-hover:#7c3aed;--button-purple-active:#6d28d9;--button-purple-text:#ffffff;--button-purple-border:#8b5cf6;--button-purple-ghost:transparent;--button-purple-ghost-hover:rgba(139,92,246,.1);--button-purple-ghost-active:rgba(139,92,246,.2);--button-purple-ghost-text:#8b5cf6;--button-purple-ghost-border:#8b5cf6;--button-red:#e53e3e;--button-red-hover:#dc2626;--button-red-active:#c53030;--button-red-text:#ffffff;--button-red-border:#e53e3e;--button-red-ghost:transparent;--button-red-ghost-hover:rgba(229,62,62,.1);--button-red-ghost-active:rgba(229,62,62,.2);--button-red-ghost-text:#e53e3e;--button-red-ghost-border:#e53e3e;--button-dark:#1a202c;--button-dark-hover:#2d3748;--button-dark-active:#4a5568;--button-dark-text:#ffffff;--button-dark-border:#1a202c;--button-dark-ghost:transparent;--button-dark-ghost-hover:rgba(26,32,44,.1);--button-dark-ghost-active:rgba(26,32,44,.2);--button-dark-ghost-text:#1a202c;--button-dark-ghost-border:#1a202c;--button-white:#ffffff;--button-white-hover:#f5f7fa;--button-white-active:#e2e8f0;--button-white-text:#1a202c;--button-white-border:#e2e8f0;--button-white-ghost:transparent;--button-white-ghost-hover:rgba(197,197,197,.307);--button-white-ghost-active:rgba(255,255,255,.2);--button-white-ghost-text:#ffffff;--button-white-ghost-border:#ffffff;--active-menu-bg:rgba(255,255,255,.15);--backdrop-overlay:rgba(0,0,0,.5);--backdrop-blur:blur(5px);--mobile-dropdown-bg:rgba(13,17,23,.95);--mobile-border:rgba(255,255,255,.1);--mobile-hover-bg:rgba(255,255,255,.1)}body,html{margin:0;padding:0;background-color:#edf1f7;color:var(--text-color);font-family:'Rubik',sans-serif}.main-container{max-width:1800px;margin:0 auto;padding:20px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:1px solid var(--border-light);background-color:var(--background-white);border-radius:8px 8px 0 0;padding:20px 30px;box-shadow:var(--box-shadow-sm)}.content-container{max-width:1200px;margin:0 auto 30px;padding:0 20px}h1{font-size:28px;font-weight:500;color:var(--text-primary);margin:0;position:relative}.page-heading p{color:var(--text-light);margin:0}.actions-container{display:flex;align-items:flex-end;gap:15px;flex-wrap:wrap}.page-heading,#main-container>.header,.main-container>.heading-container,.main-container>.outer-container>header{background-color:var(--background-white)!important;border:1px solid var(--border-light)!important;border-radius:8px!important;box-shadow:var(--box-shadow-sm)!important;margin-bottom:24px!important;padding:20px 30px!important}#main-container>.header,.main-container>.heading-container,.main-container>.outer-container>header{display:flex;align-items:center;justify-content:space-between}.purchase-container>h1,.main-container>h1{background-color:var(--background-white)!important;border:1px solid var(--border-light)!important;border-radius:8px!important;box-shadow:var(--box-shadow-sm)!important;margin:0 0 24px 0!important;padding:20px 30px!important}.page-heading h1,#main-container>.header .title h1,.main-container>.heading-container h1,.main-container>.outer-container>header h1,.purchase-container>h1,.main-container>h1,.page-header .title h2{color:#000!important;font-size:28px!important;font-weight:500!important;line-height:1.2;margin:0!important}.page-heading h1 i,.page-heading h1 svg,.page-heading h1 .material-icons,.page-heading h1 [class*="fa-"],#main-container>.header .title h1 i,#main-container>.header .title h1 svg,#main-container>.header .title h1 .material-icons,#main-container>.header .title h1 [class*="fa-"],.main-container>.heading-container h1 i,.main-container>.heading-container h1 svg,.main-container>.heading-container h1 .material-icons,.main-container>.heading-container h1 [class*="fa-"],.main-container>.outer-container>header h1 i,.main-container>.outer-container>header h1 svg,.main-container>.outer-container>header h1 .material-icons,.main-container>.outer-container>header h1 [class*="fa-"],.purchase-container>h1 i,.purchase-container>h1 svg,.purchase-container>h1 .material-icons,.purchase-container>h1 [class*="fa-"],.main-container>h1 i,.main-container>h1 svg,.main-container>h1 .material-icons,.main-container>h1 [class*="fa-"],.page-header .title h2 i,.page-header .title h2 svg,.page-header .title h2 .material-icons,.page-header .title h2 [class*="fa-"]{display:none!important}.page-heading p,#main-container>.header .title p,.main-container>.heading-container p,.main-container>.outer-container>header p,.page-header .title p,.page-subheading{color:var(--text-light)!important;font-size:14px;line-height:1.45;margin:6px 0 0 0}.hidden{display:none}@media (max-width:992px){}@media (max-width:768px){.page-heading{flex-direction:column;align-items:flex-start;gap:15px}}@media (max-width:480px){}.header-container{display:flex;align-items:center;padding:8px 24px;background:linear-gradient(90deg,var(--background-dark),#2c3e50);box-shadow:0 2px 10px var(--shadow-color);position:relative;z-index:100;font-family:'Rubik',sans-serif;justify-content:space-between}.logo{display:flex;align-items:center;margin-right:20px}.logo img{width:34px;height:34px;filter:drop-shadow(0 2px 4px var(--shadow-color));transition:var(--transition)}.logo:hover img{transform:scale(1.1)}.menu-links.desktop-links{display:flex;align-items:center;margin-right:auto;gap:8px}.auth-buttons.desktop-buttons{display:flex;align-items:center;gap:10px;margin-left:auto}.menu-link{color:var(--text-white);text-decoration:none;padding:8px 14px;border-radius:4px;transition:var(--transition);display:flex;align-items:center;gap:6px;font-weight:500;position:relative}.menu-link i{font-size:16px}.menu-link.active{background-color:var(--active-menu-bg);position:relative}.menu-link.active::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:3px}.menu-plans{border-radius:6px;background:#28384700;color:#6facff;border:1px solid #6facff;box-shadow:0 2px 5px rgba(0,0,0,.2);font-weight:600;transition:all .3s ease;display:flex;align-items:center}.menu-plans i{font-size:16px}.menu-plans:hover{background:#0c469772;box-shadow:0 4px 8px rgba(0,0,0,.2)}.auth-buttons{z-index:10;display:flex;align-items:center;gap:10px}.auth-buttons button{background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.05));color:#fff;border:solid lightgray 1px;border-radius:6px;padding:10px 18px;cursor:pointer;min-width:170px;font-size:.9rem;font-weight:500;font-family:'Rubik',sans-serif;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 5px rgba(0,0,0,.1)}.auth-buttons button i{font-size:16px}.auth-buttons button:hover{background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.1));box-shadow:0 4px 8px rgba(0,0,0,.2)}.auth-buttons button.login-btn,.auth-buttons button.student-login-btn{background:#667eea;border:2px solid #667eea;color:white;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(102,126,234,.3)}.auth-buttons button.login-btn:hover,.auth-buttons button.student-login-btn:hover{background:#5a6fd8;border:2px solid #5a6fd8;box-shadow:0 6px 20px rgba(102,126,234,.4)}.auth-buttons button.signup-btn,.auth-buttons button.teacher-login-btn{background:transparent;border:2px solid #35d8ac;color:#35d8ac;position:relative;transition:all .3s ease;font-weight:600}.auth-buttons button.signup-btn:hover,.auth-buttons button.teacher-login-btn:hover{background:#35d8ac;color:white;border:2px solid #35d8ac;box-shadow:0 6px 20px rgba(53,216,172,.4)}.playGame{background:#28384700;color:#05da05;border:1px solid #06da06;border-radius:6px;font-weight:600;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 3px 6px rgba(0,0,0,.15)}.playGame i{font-size:16px}.playGame:hover{background:#039d033c;box-shadow:0 5px 10px rgba(0,0,0,.2)}.toggle-menu{display:none;background-color:var(--background-dark);color:var(--text-white);border:none;border-radius:var(--border-radius);padding:8px 12px;font-weight:600;font-size:.9rem;cursor:pointer;text-align:center;box-shadow:var(--box-shadow-sm);transition:var(--transition);align-items:center;justify-content:center;gap:6px;margin-left:auto}.toggle-menu i{font-size:18px;transition:var(--transition)}.toggle-menu:hover{box-shadow:var(--box-shadow)}.mobile-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:var(--mobile-dropdown-bg);box-shadow:var(--box-shadow-lg);border-radius:0 0 8px 8px;z-index:90;flex-direction:column;padding:10px}.mobile-section{display:flex;flex-direction:column;gap:8px;padding:10px 0}.mobile-section:not(:last-child){border-bottom:1px solid var(--mobile-border);margin-bottom:10px}.mobile-link{color:var(--text-white);text-decoration:none;padding:12px 16px;border-radius:var(--border-radius);transition:var(--transition);display:flex;align-items:center;gap:8px;font-weight:500;background-color:rgba(255,255,255,.05)}.mobile-link.playGame:hover{background-color:var(--button-green-ghost-hover)}.mobile-link.menu-plans:hover{background-color:var(--button-blue-ghost-hover)}.mobile-button{padding:12px 16px;border-radius:var(--border-radius);background-color:rgba(255,255,255,.05);color:var(--text-white);border:1px solid rgba(255,255,255,.1);font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;transition:var(--transition)}.mobile-button.student-login-btn{background:#667eea;border:2px solid #667eea;color:white;box-shadow:0 4px 15px rgba(102,126,234,.3)}.mobile-button.teacher-login-btn{background:transparent;border:2px solid #35d8ac;color:#35d8ac}.mobile-button i{font-size:16px}.mobile-button:hover{background-color:rgba(255,255,255,.1)}.cookie-consent{position:fixed;bottom:20px;left:20px;max-width:480px;width:calc(100% - 40px);background:#ffffff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.05);z-index:9999;border:none;overflow:hidden;animation:slideUp .6s cubic-bezier(.16,1,.3,1);font-family:'Rubik',sans-serif}@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-content{padding:20px}.cookie-content h3{margin-top:0;margin-bottom:8px;color:#1a1a1a;font-weight:700;display:flex;align-items:center;gap:8px;font-size:18px;letter-spacing:-.3px}.cookie-content h3 i{color:#ff9800;font-size:20px;filter:drop-shadow(0 2px 4px rgba(255,152,0,.3))}.cookie-content>p{font-size:13px;color:#4a5568;margin-bottom:12px;line-height:1.5}.cookie-types{background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);border-radius:8px;padding:12px;margin:12px 0;border:1px solid #e2e8f0}.cookie-type{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.cookie-type:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.cookie-type h4{margin:0 0 6px 0;font-size:13px;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:6px}.cookie-type h4 i{font-size:14px}.cookie-type h4 i.fa-shield-alt{color:#10b981}.cookie-type h4 i.fa-video{color:#3b82f6}.cookie-type p{margin:0;font-size:12px;color:#64748b;line-height:1.5}.cookie-buttons{display:flex;gap:8px;margin-top:12px}@media (max-width:640px){.cookie-buttons{flex-direction:column}}.accept-cookies-btn,.reject-cookies-btn{flex:1;border:none;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);letter-spacing:.3px}.accept-cookies-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:white;position:relative;overflow:hidden}.accept-cookies-btn::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}.accept-cookies-btn:hover::before{left:100%}.accept-cookies-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:0 8px 24px rgba(16,185,129,.4);transform:translateY(-2px)}.accept-cookies-btn:active{transform:translateY(0)}.reject-cookies-btn{background:#ffffff;color:#64748b;border:2px solid #e2e8f0;box-shadow:none}.reject-cookies-btn:hover{background:#f8fafc;color:#475569;border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.reject-cookies-btn:active{transform:translateY(0)}.cookie-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0;text-align:center}.cookie-policy-link{color:#3b82f6;font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:all .3s ease;font-weight:500;padding:3px 6px;border-radius:4px}.cookie-policy-link:hover{color:#2563eb;background:#eff6ff;gap:8px}.cookie-policy-link i{transition:transform .3s ease}.cookie-policy-link:hover i{transform:rotate(15deg) scale(1.1)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.logoutModal{display:none;position:fixed;z-index:10000;left:50%;top:50%;transform:translate(-50%,-50%);padding:25px 30px;border-radius:10px;text-align:center;max-width:450px;width:90%;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{from{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.logout-modal-content{background-color:var(--background-white);padding:30px;border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);border-top:4px solid var(--primary-dark);text-align:center}.logout-modal-content h3{font-size:1.5rem;margin-bottom:15px;color:var(--text-dark);font-weight:600}.logout-modal-content p{font-size:1rem;line-height:1.6;margin-bottom:20px;color:var(--text-medium)}.logout-modal-buttons{display:flex;justify-content:center;gap:15px;margin-top:20px}.logout-modal-buttons button{background-color:var(--background-white);color:var(--text-dark);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:10px 20px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:120px;font-size:.95rem;font-family:'Rubik',sans-serif}button#confirmLogout{background-color:var(--button-blue);color:var(--button-blue-text)}button#confirmLogout:hover{background-color:var(--button-blue-hover);color:var(--button-blue-text)}.logout-modal-buttons button.confirm-logout{background-color:var(--button-green);color:var(--button-green-text);border:1px solid var(--button-green-border)}.logout-modal-buttons button:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.logout-modal-buttons button.confirm-logout:hover{background-color:var(--button-green-hover);border-color:var(--button-green-hover)}.logout-modal-buttons button:active{transform:translateY(0)}.modal-backdrop{display:none;position:fixed;top:0;left:0;bottom:0;right:0;width:100%;height:100%;background-color:var(--backdrop-overlay);z-index:9999;animation:backdropFadeIn .2s ease-out;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}@keyframes backdropFadeIn{from{opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}}@media screen and (max-width:520px){.logout-modal-buttons{flex-direction:column;gap:10px}.logout-modal-buttons button{width:100%;margin:0}.logoutModal{padding:20px;width:85%}}@media screen and (max-width:768px){.menu-links.desktop-links,.auth-buttons.desktop-buttons{display:none}.toggle-menu{display:flex}.mobile-dropdown.active{display:flex;animation:slideDown .3s ease-out forwards}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.header-container{padding:8px 16px}}.toast{position:fixed;bottom:30px;right:30px;padding:15px 25px;box-shadow:var(--box-shadow-lg);z-index:1100;font-size:15px;font-weight:500;display:flex;align-items:center;gap:10px;animation:slideIn .3s forwards;max-width:450px;color:var(--text-white)}.toast.info{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-left:4px solid var(--primary-dark)}.toast.success{background:linear-gradient(135deg,var(--success-color),var(--secondary-dark));border-left:4px solid var(--secondary-dark)}.toast.error{background:linear-gradient(135deg,var(--danger-color),var(--danger-darkest));border-left:4px solid var(--danger-darkest)}.toast.warning{background:linear-gradient(135deg,var(--warning-color),var(--warning-dark));border-left:4px solid var(--warning-dark)}.toast i{font-size:18px}.toast.fade-out{opacity:0;transition:opacity .3s ease-out}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.session-warning-modal,.session-expired-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--backdrop-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur)}.session-warning-modal.active,.session-expired-modal.active{opacity:1;visibility:visible}.session-warning-content,.session-expired-content{background-color:var(--background-white);padding:25px;border-radius:var(--border-radius);box-shadow:var(--box-shadow-lg);max-width:400px;width:90%;text-align:center;transform:translateY(-20px);transition:transform .3s ease;border:1px solid var(--border-light)}.session-warning-content{border-top:4px solid var(--session-warning-border)}.session-expired-content{border-top:4px solid var(--session-expired-border)}.session-warning-modal.active .session-warning-content,.session-expired-modal.active .session-expired-content{transform:translateY(0)}.session-warning-content h3,.session-expired-content h3{font-size:1.5rem;margin-top:0;margin-bottom:10px;color:var(--text-dark);font-weight:600}.session-warning-content p,.session-expired-content p{color:var(--text-medium);font-size:1rem;line-height:1.5;margin-bottom:15px}.session-timer{font-size:24px;font-weight:bold;margin:15px 0;padding:8px 15px;background-color:var(--session-timer-bg);border-radius:var(--border-radius);color:var(--session-timer-text);display:inline-block;border:1px solid var(--session-timer-border);font-family:'Rubik',sans-serif;letter-spacing:1px}.session-warning-buttons{display:flex;justify-content:center;gap:12px;margin-top:20px}.session-warning-modal button,.session-expired-modal button{background-color:var(--background-white);color:var(--text-dark);border:1px solid var(--border-light);border-radius:var(--border-radius);padding:10px 20px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:120px;font-size:.95rem;font-family:'Rubik',sans-serif}.session-warning-modal .primary-btn{background-color:var(--button-blue);color:var(--button-blue-text);border:1px solid var(--button-blue-border)}.session-warning-modal .primary-btn:hover{background-color:var(--button-blue-hover)}.session-expired-modal .primary-btn{background-color:var(--button-red);color:var(--button-red-text);border:1px solid var(--button-red-border)}.session-expired-modal .primary-btn:hover{background-color:var(--button-red-hover)}.session-warning-modal button:hover,.session-expired-modal button:hover{transform:translateY(-2px);box-shadow:var(--box-shadow)}.session-warning-modal button:active,.session-expired-modal button:active{transform:translateY(0)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.session-timer.urgent{animation:pulse 2s infinite;color:var(--text-white);background-color:var(--button-red)}.session-checking-indicator{position:fixed;top:20px;right:20px;background:rgba(33,150,243,.9);color:white;padding:10px 15px;border-radius:var(--border-radius);font-size:14px;z-index:9999;display:flex;align-items:center;gap:8px;animation:fadeIn .3s ease;backdrop-filter:var(--backdrop-blur)}.session-expired-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--backdrop-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:var(--transition);backdrop-filter:var(--backdrop-blur)}.session-expired-modal.active{opacity:1;visibility:visible}.session-expired-content{background:var(--background-white);padding:30px;border-radius:10px;box-shadow:var(--box-shadow-lg);text-align:center;max-width:400px;width:90%;margin:20px;border-top:4px solid var(--session-expired-border)}.session-expired-content h3{margin:0 0 15px 0;color:var(--danger-color);font-size:20px}.session-expired-content p{color:var(--text-medium);margin:0 0 20px 0;line-height:1.5}.session-expired-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.session-expired-buttons .primary-btn{background:var(--primary-color);color:white;border:none;padding:12px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:var(--transition);flex:1;min-width:120px}.session-expired-buttons .primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.session-expired-buttons .secondary-btn{background:var(--text-light);color:white;border:none;padding:12px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:var(--transition);flex:1;min-width:120px}.session-expired-buttons .secondary-btn:hover{background:var(--text-medium);transform:translateY(-1px)}.session-warning-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--backdrop-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:var(--transition);backdrop-filter:var(--backdrop-blur)}.session-warning-modal.active{opacity:1;visibility:visible}.session-warning-content{background:var(--background-white);padding:30px;border-radius:10px;box-shadow:var(--box-shadow-lg);text-align:center;max-width:400px;width:90%;margin:20px;border-top:4px solid var(--session-warning-border)}.session-warning-content h3{margin:0 0 15px 0;color:var(--warning-color);font-size:20px}.session-timer{background:var(--session-timer-bg);border:1px solid var(--session-timer-border);color:var(--session-timer-text);padding:15px;border-radius:var(--border-radius);font-size:24px;font-weight:bold;margin:15px 0;font-family:monospace;letter-spacing:2px}.session-timer.urgent{animation:pulse-urgent 1s infinite;background:rgba(231,76,60,.2);border-color:var(--danger-color)}.session-warning-buttons{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}.session-warning-buttons .primary-btn,.session-warning-buttons .secondary-btn{padding:12px 20px;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:var(--transition);border:none;flex:1;min-width:120px}.session-warning-buttons .primary-btn{background:var(--primary-color);color:white}.session-warning-buttons .primary-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.session-warning-buttons .secondary-btn{background:transparent;color:var(--text-medium);border:1px solid var(--border-medium)}.session-warning-buttons .secondary-btn:hover{background:var(--background-light);transform:translateY(-1px)}@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes pulse-urgent{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}@media (max-width:480px){.session-expired-content,.session-warning-content{padding:20px;margin:10px}.session-expired-buttons,.session-warning-buttons{flex-direction:column}.session-expired-buttons .primary-btn,.session-expired-buttons .secondary-btn,.session-warning-buttons .primary-btn,.session-warning-buttons .secondary-btn{min-width:auto;width:100%}.session-timer{font-size:20px;padding:12px}}.session-checking-indicator .spinner{width:16px;height:16px;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:8px;padding:6px 12px;border-radius:4px;background-color:var(--background-dark);color:var(--text-white);text-align:center;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s;pointer-events:none;z-index:10;box-shadow:var(--box-shadow-sm)}[data-tooltip]:after{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border-width:5px;border-style:solid;border-color:var(--background-dark) transparent transparent transparent;margin-bottom:-2px;opacity:0;visibility:hidden;transition:all .2s}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}[data-tooltip-position="left"]:before{top:50%;left:auto;right:100%;transform:translateY(-50%);margin-bottom:0;margin-right:8px}[data-tooltip-position="left"]:after{top:50%;left:auto;right:100%;bottom:auto;transform:translateY(-50%);margin-bottom:0;margin-right:3px;border-color:transparent transparent transparent var(--background-dark)}[data-tooltip-position="right"]:before{top:50%;left:100%;transform:translateY(-50%);margin-bottom:0;margin-left:8px}[data-tooltip-position="right"]:after{top:50%;left:100%;bottom:auto;transform:translateY(-50%);margin-bottom:0;margin-left:3px;border-color:transparent var(--background-dark) transparent transparent}@media (max-width:768px){[data-tooltip]:before{white-space:normal;max-width:200px}}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.bunny.net/open-sans/files/open-sans-latin-400-normal.woff2) format('woff2'),url(https://fonts.bunny.net/open-sans/files/open-sans-latin-400-normal.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Open Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.bunny.net/open-sans/files/open-sans-latin-800-normal.woff2) format('woff2'),url(https://fonts.bunny.net/open-sans/files/open-sans-latin-800-normal.woff) format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary-color:#4361ee;--primary-light:#eef2ff;--primary-dark:#3f37c9;--primary-hover:#3a53cc;--primary-active:#2e43a3;--secondary-color:#35d8ac;--secondary-light:#e6f7f4;--secondary-dark:#2ba98d;--text-color:#2d3748;--text-dark:#333333;--text-medium:#4a5568;--text-light:#718096;--text-white:#ffffff;--border-color:#e2e8f0;--background-light:#f5f7fa;--background-white:#ffffff;--background-dark:#1a202c;--border-light:#e2e8f0;--border-medium:#cbd5e0;--shadow-color:rgba(0,0,0,.1);--danger-color:#e53e3e;--danger-light:#feb2b2;--danger-dark:#c53030;--danger-bg:#fff5f5;--success-color:#16a34a;--success-hover:#138a3f;--warning-color:#ff9800;--warning-dark:#e67e22;--danger-darkest:#c0392b;--session-warning-border:#0347b5;--session-expired-border:#e74c3c;--session-timer-bg:rgba(231,76,60,.1);--session-timer-border:rgba(231,76,60,.2);--session-timer-text:#e74c3c;--error-color:#e74c3c;--box-shadow:0 4px 6px rgba(0,0,0,.1);--box-shadow-sm:0 2px 4px rgba(0,0,0,.05);--box-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--border-radius:5px;--transition:all .3s ease}.CodeMirror-hints{font-family:'Open Sans','Segoe UI',Arial,sans-serif;font-size:16px;border:1px solid #ccc;border-radius:4px;background:#f9f9f9;max-height:200px;overflow-y:auto;z-index:1000;padding:5px}.CodeMirror{height:100%}.CodeMirror-foldgutter{width:11px}.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{color:#5f6368;cursor:pointer}.icon-function::before{content:"𝑓";font-family:'Cambria Math','STIX Two Math','Noto Sans Math','Segoe UI Symbol','Times New Roman',serif;font-style:normal;font-weight:bold;font-size:18px;color:#007bff;margin-right:5px}.icon-keyword::before{content:"𝑘";font-family:'Cambria Math','STIX Two Math','Noto Sans Math','Segoe UI Symbol','Times New Roman',serif;font-style:normal;font-weight:bold;font-size:18px;color:#28a745;margin-right:5px}.icon-variable::before{content:"𝑣";font-family:'Cambria Math','STIX Two Math','Noto Sans Math','Segoe UI Symbol','Times New Roman',serif;font-style:normal;font-weight:bold;font-size:18px;color:#ff5733;margin-right:5px}.hint-info{color:#888;font-style:italic;margin-left:5px}.hint-item{display:block;padding:2px 0}.hint-main{display:flex;align-items:center;gap:6px;min-height:22px}.hint-label{flex:1}.hint-info-toggle{border:1px solid #9aa4b2;background:#f4f6fa;color:#425266;border-radius:10px;width:18px;height:18px;line-height:16px;font-family:'Open Sans','Segoe UI',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;padding:0}.hint-info-toggle:hover{background:#e8edf7}.hint-detail{display:none;margin:4px 0 2px 24px;font-size:12px;color:#55647a;line-height:1.35}.hint-item.hint-expanded .hint-detail{display:block}li.CodeMirror-hint-active{background:#2b7600}:root{--font-size:14px}body{font-family:'Open Sans',sans-serif;margin:0;height:100vh;overflow:hidden;background-color:#ffffff;color:#555555}strong,b{color:rgb(126,126,141)}.logo img{width:50px;height:auto}.header{display:flex;justify-content:space-between;align-items:center;padding-left:10px;box-shadow:0 4px 2px -2px gray;background-color:#e8ecf1}#mycanvas,#p5canvas{background-color:white;width:100%;height:100%;box-sizing:border-box}#turtleModal,#p5Modal,#pygameModal,#matplotlibModal{display:none;position:fixed;z-index:99;left:100px;top:100px;width:850px;height:700px;background-color:transparent;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.2)}#turtleModal{width:fit-content;height:fit-content;max-width:95vw;max-height:90vh}#turtleModal .turtle-modal-content{width:fit-content;height:fit-content;overflow:visible}#turtleModal #mycanvas{width:auto;height:auto;display:inline-block}#pygameModal{width:fit-content;height:fit-content;max-width:95vw;max-height:90vh}#pygameModal .pygame-modal-content{width:fit-content;height:fit-content;overflow:visible}#pygamecanvas{display:block}.turtle-modal-content,#p5ModalContent,.pygame-modal-content,.matplotlib-modal-content{background-color:#fefefe;border:1px solid #888;border-radius:0 0 4px 4px;height:calc(100% - 32px);overflow:auto;position:relative}#matplotlibcanvas{width:100%;height:100%;background-color:white}.close{position:absolute;top:4px;right:8px;cursor:pointer;z-index:999;font-size:22px;font-weight:300;color:white;line-height:1;transition:all .2s ease;opacity:.8;padding:4px 6px}.close:hover,.close:focus{color:white;opacity:1;transform:scale(1.15)}#title-bar{background-color:#6785e9;color:white;padding:8px 12px;text-align:center;font-size:14px;font-weight:600;cursor:move;position:relative;border-radius:4px 4px 0 0;user-select:none;height:32px;display:flex;align-items:center;justify-content:center}#toolbar{display:flex;justify-content:center;gap:10px;background-color:#F0F0F0;padding:10px}.toolbar-button{padding:5px 10px;cursor:pointer;border:none;background-color:#4A90E2;color:white;border-radius:4px;transition:background-color .3s}.toolbar-button:hover{background-color:#357ABD}.CodeMirror{font-size:var(--font-size)}.draggable{cursor:move}.title{display:flex;align-items:center;gap:10px}label{margin-right:5px}h1{color:rgb(126,126,141);margin:0;margin-bottom:15px;padding-bottom:10px;border-bottom:3px solid rgb(151,185,200);width:100%;font-family:'Open Sans',sans-serif;font-weight:800;font-size:28px;letter-spacing:1.2px}h2,h3,h4,h5,h6{color:rgb(126,126,141);font-family:'Open Sans',sans-serif}select{padding:8px;font-size:14px;cursor:pointer}.container{display:flex;position:relative;width:100%;height:90vh}.left-container,.right-container{flex-grow:1;overflow:hidden;border:1px solid #ccc;height:93vh;background-color:#eef2f7}.left-container{padding:0}.output-container,.description-container{height:60%}.description-container{padding:0 10px 0 10px;box-sizing:border-box}.editor-container{overflow:hidden;padding-bottom:100px;max-height:75vh;line-height:1.4}#input-run-container{align-items:flex-start;margin-bottom:20px}#input-run-container textarea{width:100%;padding:8px;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;margin-top:5px;resize:none}.input-container{display:none;margin-top:-40px}#output-box{max-height:70vh;overflow:auto}#project-description{max-height:77vh;overflow:auto;padding-right:5px}.description-container{position:relative}.title-container{display:flex;align-items:center;gap:8px}.title-editor{width:100%;padding:8px 12px;border:1px solid var(--keyword-reference-border,#cbd5e1);border-radius:6px;font-size:16px;font-weight:600;font-family:inherit;line-height:1.4;background:var(--keyword-reference-panel,#f8fafc);color:var(--keyword-reference-text,#0f172a);box-sizing:border-box}.title-editor:focus{border-color:#6785e9;outline:none;box-shadow:0 0 0 3px rgba(103,133,233,.15)}#title-editor-container{margin-bottom:12px}.description-heading{margin-top:16px}.description-label{font-size:16px;font-weight:600;color:var(--keyword-reference-text,#0f172a);margin:0}.edit-description-btn{background:#6785e9;border:1px solid #6785e9;color:#ffffff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;border-radius:4px;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap}.edit-description-btn:hover{background-color:#ffffff;color:#6785e9;border-color:#6785e9}.edit-description-btn i{font-size:14px}.description-editor{width:100%;min-height:80px;padding:10px 12px;border:1px solid var(--keyword-reference-border,#cbd5e1);border-radius:6px;font-size:14px;font-family:inherit;line-height:1.5;resize:vertical;background:var(--keyword-reference-panel,#f8fafc);color:var(--keyword-reference-text,#0f172a);box-sizing:border-box}.description-editor:focus{border-color:#6785e9;outline:none;box-shadow:0 0 0 3px rgba(103,133,233,.15)}.description-editor-actions{display:flex;gap:8px;margin-top:8px}#save-description-btn{width:130px;padding:8px 16px;border-radius:4px;border:1px solid #6785e9;background-color:#6785e9;color:#ffffff;font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;cursor:pointer}#save-description-btn:hover{background-color:#ffffff;color:#6785e9;border-color:#6785e9}#save-description-btn:disabled{opacity:.6;cursor:not-allowed}#cancel-description-btn{width:130px;padding:8px 16px;border-radius:4px;border:1px solid #6c757d;background-color:#6c757d;color:#ffffff;font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;cursor:pointer}#cancel-description-btn:hover{background-color:#ffffff;color:#6c757d;border-color:#6c757d}#description-editor-container .char-count{margin-top:4px;font-size:12px;color:var(--keyword-reference-muted,#475569);text-align:right}select,button{padding:8px;font-size:12px;cursor:pointer}.sidebar button,.modal button{border-radius:4px;cursor:pointer;height:auto;min-width:auto;text-align:center;max-width:none;padding:8px 16px;border:1px solid #6785e9;color:#ffffff;background-color:#6785e9;transition:all .2s ease;font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px}.sidebar button:hover,.modal button:hover{border-color:#6785e9;color:#6785e9;background-color:#ffffff}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:10px;margin-bottom:10px;gap:10px;margin-right:10px}.button-container button{flex:1;min-width:0}.input-button-container,#toggle-container{display:flex;justify-content:flex-end;gap:10px}.input-button-container button,#toggle-container button{flex:1;min-width:100px}.input-button-container h2,#toggle-container h2{flex:6}.auth-buttons button:hover{background-color:rgba(255,255,255,.3)}.showInputs{color:white;border:none;cursor:pointer;font-weight:bold;font-size:14px;background-color:#05761b;flex:1;border-radius:4px;height:37px}.showInputs:hover{background-color:#50a550}.title button{border-radius:4px;padding:8px 16px;margin:0 4px;cursor:pointer;font-family:'Rubik';background-color:#6785e9;color:#ffffff;border:1px solid #6785e9;font-size:13px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;flex:1}.video-button{background-color:#47cf6e!important;border-color:#47cf6e!important}.video-button:hover{background-color:#3aa655!important;border-color:#3aa655!important}.video-button i{font-size:14px}.project-select-button{min-width:135px;flex:2}.run-button,.run-tests-button,.submit-button,#save-playground-button{border-radius:4px;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:6px;margin:0 4px;transition:all .2s ease;border:1px solid transparent;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;height:auto;color:white}.run-button{border-color:#51b9a8}.run-tests-button{border-color:#6785e9}.submit-button{border-color:#6a9955}.run-button i,.run-tests-button i,.submit-button i,#save-playground-button i{font-size:16px}.title button:hover{background-color:#ffffff;color:#6785e9;border-color:#6785e9}.submit-button{display:none}.run-button.run{background-color:#51b9a8}.run-button.run:hover{background-color:#ffffff;color:#51b9a8;border-color:#51b9a8}.run-button.stop{background-color:#e74c3c}.run-button.stop:hover{background-color:#ffffff;color:#e74c3c;border-color:#e74c3c}.run-tests-button{background-color:#6785e9}.run-tests-button:hover{background-color:#ffffff;color:#6785e9;border-color:#6785e9}.submit-button{background-color:#6a9955}.submit-button:hover{background-color:#ffffff;color:#6a9955;border-color:#6a9955}.run-button[data-tooltip]:before,.run-tests-button[data-tooltip]:before,.submit-button[data-tooltip]:before,#save-playground-button[data-tooltip]:before{bottom:120%}.left-container h2,#project-title,#programoutput{color:rgb(126,126,141);background-color:#ffffff;font-size:14px;font-weight:600;margin-bottom:0;margin-top:0;padding:8px 12px;text-align:center;border-radius:0;border-bottom:2px solid #e8ecf1;font-family:'Open Sans',sans-serif;letter-spacing:.5px}.left-container h2{border-radius:0}.title-container{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}h2#project-title{font-size:24px;margin:0;flex:1}.description-container hr{border-color:#cac9fb}.draggable-handle{width:5px;height:103.5%;background-color:#b2c3ff;cursor:col-resize;top:0;z-index:1}@media (pointer:coarse){.draggable-handle{width:18px}}#editor-fullscreen-btn{margin-left:auto;padding:6px 10px;background:transparent;border:none;color:#718096;cursor:pointer;font-size:13px;flex-shrink:0;border-radius:4px;transition:background-color .2s ease,color .2s ease}#editor-fullscreen-btn:hover{background-color:#f0f4f8;color:#4a5568}.left-container.editor-fullscreen{position:fixed!important;top:0;left:0;width:100vw!important;height:100vh!important;z-index:9999;background-color:#fff;overflow:hidden}.left-container.editor-fullscreen .editor-container{max-height:calc(100vh - 45px);height:calc(100vh - 45px);padding-bottom:0}.left-container.editor-fullscreen .input-container{display:none!important}label{display:block;margin-bottom:5px}textarea{width:100%;padding:8px;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;margin-top:5px;resize:none}pre{background-color:#ffffff;padding:10px;white-space:pre-wrap}#project-description pre code{display:block;padding:0;margin:0;text-indent:0}pre#output-box{margin:0;padding:10px;line-height:1.4}input#userInputBox{width:100%;border:0;border-radius:0;padding:10px 6px 10px 10px;box-sizing:border-box;color:#4763e1}.tooltip{position:relative;display:inline-block}.tooltip .tooltiptext{visibility:hidden;width:60px;background-color:black;color:white;text-align:center;border-radius:6px;padding:5px 0;position:absolute;z-index:1;top:calc(100% + 5px);left:50%;margin-left:-60px;opacity:0;transition:opacity .3s}.input-button-container .tooltiptext{top:-35px;left:50%;margin-left:-100px;width:100px;font-size:16px}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.tab-content.active{display:block}.tabs_wrap{display:flex;gap:0;padding:0;margin:0 0 8px 0;overflow-x:auto;overflow-y:hidden;box-shadow:0 2px 4px rgba(0,0,0,.05);height:45px}.tabs_wrap ul{display:flex;gap:0;margin:0;padding:0;list-style:none;width:100%}.tabs_wrap ul li.tab-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;cursor:pointer;transition:all .3s ease;background:#f8f9fa;border-right:1px solid #e2e8f0;border-bottom:3px solid transparent;color:#4a5568;font-size:13px;font-weight:500;white-space:nowrap;flex-shrink:0;flex:1}.tabs_wrap ul li.tab-button:hover{background:#dfe7f1;color:#2d3748;border-bottom-color:#6785e9}.tabs_wrap ul li.tab-button.active{background:#e8ecf7;color:#6785e9;border-bottom-color:#6785e9;font-weight:600}.tab-content{display:none;padding:0 4px}.tab-content h2{margin-top:0}.tabs_wrap ul li:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.tabs_wrap ul li:last-child{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}div#tests{padding:0}#toggle-container-top.toggle-switch{height:10px}#toggle-container-top .slider{background-color:blue}#toggle-container-top input:checked+.slider{background-color:green}.toggle-switch{position:relative;display:inline-block;width:60px;height:30px;background-color:#ccc;border-radius:15px;overflow:hidden}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#000000;transition:.4s;border-radius:15px}.slider:before{position:absolute;content:"";height:24px;width:24px;left:4px;bottom:3px;background-color:white;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#00800f}input:checked+.slider:before{transform:translateX(26px)}#test-container{max-height:83vh;overflow-y:auto}.test-box{margin:0 auto 6px;padding:0;font-weight:bold;color:white;cursor:pointer;width:99%;overflow:hidden}.passed{background-color:#5cb85c}.passed:hover{background-color:#6cc76c}.failed{background-color:#d9534f}.failed:hover{background-color:#e06561}.test-box-title{display:flex;justify-content:space-between;padding:12px 15px;align-items:center;position:relative;font-family:Arial,sans-serif}.test-box-title::before{content:'▼';font-size:10px;margin-right:8px;transition:transform .2s}.test-box.expanded .test-box-title::before{transform:rotate(-180deg)}span.status.failed{background-color:white;border-radius:6px;color:#d9534f;padding:3px;font-size:14px}span.status.passed{background-color:white;border-radius:6px;color:#5cb85c;padding:3px;font-size:14px}.test-details{display:none;font-weight:normal;color:black;padding:15px;background-color:#fafafa;border-top:2px solid rgba(255,255,255,.3)}.test-running-placeholder{margin:0 auto 6px;padding:12px 15px;font-weight:bold;color:#555;cursor:default;box-sizing:border-box;width:99%;overflow:hidden;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:1px solid #ccc;border-radius:6px;font-family:Arial,sans-serif;font-size:14px;display:flex;align-items:center;gap:10px;animation:placeholderPulse 1.5s ease-in-out infinite}.test-running-placeholder i{font-size:14px;color:#888;flex-shrink:0}@keyframes placeholderPulse{0%,100%{opacity:.7}50%{opacity:1}}.time-sleep-warning{background:linear-gradient(135deg,#fff3cd,#ffeeba);border:2px solid #ffc107;border-radius:8px;padding:12px 16px;margin:0 auto 10px;width:99%;display:flex;align-items:flex-start;gap:12px;box-shadow:0 2px 8px rgba(255,193,7,.3);animation:timeSleepSlideDown .3s ease-out;box-sizing:border-box}.time-sleep-warning-icon{flex-shrink:0;width:36px;height:36px;background:#ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#856404;font-size:18px}.time-sleep-warning-content{flex:1}.time-sleep-warning-content strong{color:#856404;font-size:14px;display:block;margin-bottom:4px}.time-sleep-warning-content p{color:#6d5a00;font-size:13px;margin:0;line-height:1.5;font-weight:normal}.time-sleep-warning-content code{background:rgba(255,193,7,.3);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#533f03}.input-exhaustion-warning{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:2px solid #e74c3c;border-radius:8px;padding:12px 16px;margin:0 auto 10px;width:99%;display:flex;align-items:flex-start;gap:12px;box-shadow:0 2px 8px rgba(231,76,60,.3);animation:timeSleepSlideDown .3s ease-out;box-sizing:border-box}.input-exhaustion-warning-icon{flex-shrink:0;width:36px;height:36px;background:#e74c3c;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.input-exhaustion-warning-content{flex:1}.input-exhaustion-warning-content strong{color:#a94442;font-size:14px;display:block;margin-bottom:4px}.input-exhaustion-warning-content p{color:#8a3a3a;font-size:13px;margin:0;line-height:1.5;font-weight:normal}.input-exhaustion-warning-content code{background:rgba(231,76,60,.15);padding:1px 5px;border-radius:3px;font-family:'Courier New',monospace;font-size:12px;color:#7a2a2a}@keyframes timeSleepSlideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.view-toggle-btn{background-color:#ffffff;color:#6785e9;border:1px solid #6785e9;padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-bottom:10px;width:150px}.view-toggle-btn:hover{background-color:#ffffff;color:#6785e9;border:1px solid #6785e9}.view-toggle-btn:active{background-color:#4451b8}.test-output-header-row{background-color:#f5f5f5;font-weight:bold;border-bottom:2px solid #333}.test-output-header{padding:10px 8px;text-align:left;font-size:11px;color:#333;letter-spacing:.5px;font-family:Arial,sans-serif}.test-output-header.expected{background-color:#e8f5e9;border-right:2px solid #ddd}.test-output-header.actual{background-color:#e8f5e9}.test-output-header.actual.failed{background-color:#ffebee}.test-output-raw-header{font-weight:bold;margin-bottom:5px;padding:8px;background-color:#f5f5f5;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.5px;color:#333}.test-detail-item{margin-bottom:15px;background-color:white;padding:12px;border-radius:6px;border:1px solid #e0e0e0}.test-detail-item strong{display:block;margin-bottom:8px;color:#333;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.test-detail-item pre{background-color:#f8f8f8;padding:10px;border-radius:4px;margin:0;overflow-x:auto;font-size:13px;border:1px solid #e0e0e0;max-height:200px;overflow-y:auto;font-family:'Courier New',Courier,monospace;line-height:1.5;color:#333;white-space:pre-wrap;word-wrap:break-word}.test-output-comparison{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:10px}.test-output-column{display:flex;flex-direction:column}.test-output-column strong{display:block;margin-bottom:8px;color:#333;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.test-output-expected{border-left:4px solid #5cb85c}.test-output-actual{border-left:4px solid #d9534f}.test-output-expected.match{border-left:4px solid #5cb85c;background-color:#f1f8f4}.test-output-actual.match{border-left:4px solid #5cb85c;background-color:#f1f8f4}.test-output-box-compare{background-color:#f8f8f8;padding:10px;border-radius:4px;border:1px solid #e0e0e0;font-size:12px;font-family:'Courier New',Courier,monospace;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:250px;overflow-y:auto;line-height:1.5;color:#333}.test-output-expected .test-output-box-compare{background-color:#f5fdf8;border-color:#c8e6c9}.test-output-actual .test-output-box-compare{background-color:#fff5f5;border-color:#ffcdd2}.test-output-actual.match .test-output-box-compare{background-color:#f1f8f4;border-color:#c8e6c9}.diff-added{background-color:#c8e6c9;color:#1b5e20;padding:1px 3px;border-radius:2px}.diff-removed{background-color:#ffcdd2;color:#b71c1c;text-decoration:line-through;padding:1px 3px;border-radius:2px}.diff-highlight{background-color:#fff9c4;padding:1px 3px;border-radius:2px}.test-diff-table{width:100%;border-collapse:collapse;border:2px solid #ddd;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.05)}.test-diff-table th{background-color:#f5f5f5;padding:10px 8px;text-align:left;font-size:11px;font-weight:600;letter-spacing:.5px;border-bottom:2px solid #333}.test-diff-table td{border-bottom:1px solid #e8e8e8;padding:8px;font-family:'Courier New',Courier,monospace;font-size:12px;line-height:1;white-space:pre-wrap;word-wrap:break-word;vertical-align:top}.test-diff-table tr:last-child td{border-bottom:none}.test-diff-table td:first-child{width:50%;background-color:#f5fdf8;border-right:2px solid #ddd}.test-diff-table td:last-child{width:50%;background-color:#fff5f5}.test-diff-table tr[style*="border-left:4px solid #4CAF50"] td{background-color:#f1f8f4!important;color:#1b5e20!important}.test-diff-table tr[style*="border-left:4px solid #d9534f"] td:first-child{background-color:#fafafa}.regex-test-container,.contains-test-container{font-family:'Courier New',monospace;font-size:12px;line-height:1.8}.test-result-header{padding:8px 10px;border-radius:4px;margin-bottom:8px;font-weight:bold}.test-result-header.passed{background-color:#e8f5e9;border:2px solid #4cae4c;color:#2e7d32}.test-result-header.failed{background-color:#ffebee;border:2px solid #c9302c;color:#c62828}.test-section-label{margin-top:8px;margin-bottom:4px;font-weight:bold;font-size:11px;color:#333;text-transform:uppercase;letter-spacing:.5px}.test-pattern-box{padding:8px;background-color:#f0f4ff;border:1px solid #5c6ac4;border-radius:4px;margin-bottom:12px;white-space:pre-wrap;font-family:Consolas,Monaco,monospace;color:#5c6ac4;font-weight:bold}.test-expected-box{padding:8px;background-color:#f0f7ff;border:1px solid #5c9fd6;border-radius:4px;margin-bottom:12px;white-space:pre-wrap;color:#1e3a5f;font-weight:500}.test-expected-box.warning{background-color:#fff3e0;border:1px solid #ff9800}.test-output-box{padding:8px;background-color:#fff;border-radius:4px;white-space:pre-wrap}.test-output-box.passed{border:2px solid #4cae4c;background-color:#f1f8f4;color:#1b5e20}.test-output-box.failed{border:2px solid #c9302c;background-color:#fff;color:#333}.test-match-highlight{background-color:#c8e6c9;color:#1b5e20;padding:2px 4px;border-radius:3px;font-weight:bold}#inputBox{display:none}.custom-input{padding:8px;font-size:16px;border:1px solid #ccc;border-radius:4px;margin-bottom:10px;width:calc(100% - 22px)}.custom-button{padding:8px 12px;font-size:16px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background-color:#039b06}.custom-button:hover{padding:8px 12px;font-size:16px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background-color:#016003}#firework-container{position:absolute;top:0;right:0;width:50%;height:100%;pointer-events:none;overflow:hidden}.firework-particle{position:absolute;width:6px;height:6px;border-radius:50%;opacity:0;pointer-events:none;animation:explode 1s ease-out forwards}@keyframes explode{0%{opacity:1}100%{transform:translateY(-150px) scale(1.5);opacity:0}}.sidebar{position:fixed;top:0;left:-250px;width:250px;height:100%;background-color:#2d3748;color:#e2e8f0;transition:all .3s ease;z-index:999;box-shadow:2px 0 8px rgba(0,0,0,.3);border-right:1px solid #1a202c;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding-bottom:12px}.sidebar{scrollbar-width:auto;scrollbar-color:#60a5fa #22314d}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-track{background-color:#22314d;border-radius:8px;padding:1px}.sidebar::-webkit-scrollbar-track:hover{background-color:#2a3d60}.sidebar::-webkit-scrollbar-thumb{background-color:#60a5fa;border-radius:8px;min-height:30px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#3b82f6}.sidebar::-webkit-scrollbar-thumb:active{background-color:#2563eb}.sidebar::-webkit-scrollbar-button{display:none;width:0;height:0}.sidebar::-webkit-scrollbar-button:single-button,.sidebar::-webkit-scrollbar-button:double-button{display:none;width:0;height:0}.container{transition:margin-left .3s ease}.header{transition:margin-left .3s ease}.sidebar-item{display:flex;justify-content:space-between;align-items:center;padding:10px;gap:10px}.sidebar-item.support-unavailable{opacity:.5;pointer-events:none}.sidebar-item.support-unavailable label{font-style:italic;font-size:11px}.gci-overlay-section{border-top:1px solid rgba(255,255,255,.1);padding-top:15px!important;margin-top:5px}.gci-overlay-controls{padding:0}.gci-overlay-controls input[type="color"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:2px}.gci-overlay-controls input[type="color"]::-webkit-color-swatch-wrapper{padding:0}.gci-overlay-controls input[type="color"]::-webkit-color-swatch{border:none;border-radius:2px}.gci-overlay-controls input[type="range"]{-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:linear-gradient(to right,rgba(67,97,238,.2) 0%,rgba(67,97,238,.6) 100%);outline:none}.gci-overlay-controls input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#4361ee;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.3)}.gci-overlay-controls input[type="range"]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#4361ee;cursor:pointer;border:none;box-shadow:0 1px 3px rgba(0,0,0,.3)}.keyword-reference-launch{display:flex;gap:10px}.keyword-reference-modal-content{--keyword-reference-surface:#ffffff;--keyword-reference-panel:#f8fafc;--keyword-reference-panel-strong:#eef2f7;--keyword-reference-border:#cbd5e1;--keyword-reference-text:#0f172a;--keyword-reference-muted:#475569;--keyword-reference-link:#3157c9;--keyword-reference-link-hover:#1d3f9f;--keyword-reference-status-bg:#f8fbff;--keyword-reference-status-info:#365ec9;--keyword-reference-status-error:#c2410c;--keyword-reference-scrollbar-track:#dbeafe;--keyword-reference-scrollbar-track-hover:#bfdbfe;--keyword-reference-scrollbar-track-active:#93c5fd;--keyword-reference-scrollbar-thumb:#3b82f6;--keyword-reference-scrollbar-thumb-hover:#2563eb;--keyword-reference-scrollbar-thumb-active:#1d4ed8;width:min(700px,90vw);height:min(600px,85vh);min-width:400px;min-height:380px;resize:both;overflow:auto;display:flex;flex-direction:column;background:var(--keyword-reference-surface);color:var(--keyword-reference-text);pointer-events:auto}.modal-drag-handle.keyword-reference-drag-handle{background:linear-gradient(90deg,#6785e9 0%,#4f67b9 100%)}.keyword-reference-body{padding:16px;display:flex;flex-direction:column;gap:14px;height:calc(100% - 44px);min-height:0;overflow-y:auto}.keyword-reference-body,.command-word-details{scrollbar-width:auto;scrollbar-color:var(--keyword-reference-scrollbar-thumb) var(--keyword-reference-scrollbar-track)}.keyword-reference-body::-webkit-scrollbar,.command-word-details::-webkit-scrollbar{width:10px}.keyword-reference-body::-webkit-scrollbar-track,.command-word-details::-webkit-scrollbar-track{background-color:var(--keyword-reference-scrollbar-track);border-radius:8px;padding:1px}.keyword-reference-body::-webkit-scrollbar-track:hover,.command-word-details::-webkit-scrollbar-track:hover{background-color:var(--keyword-reference-scrollbar-track-hover)}.keyword-reference-body::-webkit-scrollbar-track:active,.command-word-details::-webkit-scrollbar-track:active{background-color:var(--keyword-reference-scrollbar-track-active)}.keyword-reference-body::-webkit-scrollbar-thumb,.command-word-details::-webkit-scrollbar-thumb{background-color:var(--keyword-reference-scrollbar-thumb);border-radius:8px;min-height:30px}.keyword-reference-body::-webkit-scrollbar-thumb:hover,.command-word-details::-webkit-scrollbar-thumb:hover{background-color:var(--keyword-reference-scrollbar-thumb-hover)}.keyword-reference-body::-webkit-scrollbar-thumb:active,.command-word-details::-webkit-scrollbar-thumb:active{background-color:var(--keyword-reference-scrollbar-thumb-active)}.keyword-reference-body::-webkit-scrollbar-button,.command-word-details::-webkit-scrollbar-button{display:none;width:0;height:0}.keyword-reference-body::-webkit-scrollbar-button:single-button,.keyword-reference-body::-webkit-scrollbar-button:double-button,.command-word-details::-webkit-scrollbar-button:single-button,.command-word-details::-webkit-scrollbar-button:double-button{display:none;width:0;height:0}.keyword-reference-search-row label{display:block;font-size:12px;font-weight:600;color:var(--keyword-reference-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.keyword-reference-search-row input[type="text"]{flex:1 1 auto;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--keyword-reference-panel);border:1px solid var(--keyword-reference-border);border-radius:6px;padding:10px 12px;color:var(--keyword-reference-text);font-size:14px;outline:none;transition:all .2s ease;box-sizing:border-box}.keyword-reference-search-controls{display:flex;align-items:stretch;gap:8px}.keyword-reference-search-controls button{flex:0 0 42px;width:42px;min-height:42px;border:1px solid #6785e9;border-radius:6px;background:#3157c9;color:#ffffff;cursor:pointer;font-size:15px;transition:background-color .2s ease,border-color .2s ease}.keyword-reference-search-controls button:hover,.keyword-reference-search-controls button:focus-visible{background:#1d3f9f;border-color:#1d3f9f}.keyword-reference-search-row input[type="text"]::placeholder{color:var(--keyword-reference-muted)}.keyword-reference-search-row input[type="text"]:focus{border-color:#6785e9;box-shadow:0 0 0 3px rgba(103,133,233,.25)}.keyword-reference-hint{margin-top:6px;font-size:12px;color:var(--keyword-reference-muted)}.keyword-reference-content-grid{display:none}.command-word-search-select{width:100%;background-color:var(--keyword-reference-panel);border:1px solid var(--keyword-reference-border);border-radius:6px;color:var(--keyword-reference-text);font-size:13px;padding:8px 10px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.command-word-search-select:focus{border-color:#6785e9;box-shadow:0 0 0 3px rgba(103,133,233,.25)}.command-word-search-select option{background-color:var(--keyword-reference-panel);color:var(--keyword-reference-text);padding:6px 8px}.command-word-details{background-color:var(--keyword-reference-panel);border:1px solid var(--keyword-reference-border);border-radius:6px;padding:12px;max-height:none;overflow-y:auto}.command-word-details label{display:block;font-size:11px;color:var(--keyword-reference-muted);text-transform:uppercase;letter-spacing:.7px;margin-bottom:5px}.command-word-details>div{margin-bottom:12px}.command-word-details>div:last-child{margin-bottom:0}.keyword-reference-value{font-size:13px;line-height:1.5;color:var(--keyword-reference-text);word-break:break-word}#keywordReferenceDescription{white-space:pre-wrap}.keyword-reference-name{font-size:16px;font-weight:700;color:var(--keyword-reference-text)}.keyword-reference-example{margin:0;font-size:12px;line-height:1.5;color:var(--keyword-reference-text);white-space:pre-wrap;background:var(--keyword-reference-panel-strong);border:1px solid var(--keyword-reference-border);border-radius:6px;padding:10px}.keyword-reference-empty-state,.command-word-status{border:1px dashed var(--keyword-reference-border);border-radius:6px;padding:14px;font-size:13px;color:var(--keyword-reference-muted);background:var(--keyword-reference-status-bg)}.command-word-status.error{border-color:rgba(194,65,12,.35);color:var(--keyword-reference-status-error)}.command-word-status.info{border-color:rgba(54,94,201,.35);color:var(--keyword-reference-status-info)}.keyword-reference-value a{color:var(--keyword-reference-link);text-decoration:underline}.keyword-reference-value a:hover{color:var(--keyword-reference-link-hover)}#keywordReferenceVideo iframe{display:block;width:100%;max-width:100%;min-height:240px;border:0}body.theme-material .keyword-reference-modal-content{--keyword-reference-surface:var(--theme-surface);--keyword-reference-panel:var(--theme-bg);--keyword-reference-panel-strong:color-mix(in srgb,var(--theme-bg) 88%,#000 12%);--keyword-reference-border:var(--theme-border);--keyword-reference-text:var(--theme-text);--keyword-reference-muted:var(--theme-muted-text);--keyword-reference-link:#3157c9;--keyword-reference-link-hover:#1d3f9f;--keyword-reference-status-bg:color-mix(in srgb,var(--theme-bg) 92%,#ffffff 8%);--keyword-reference-status-info:#365ec9;--keyword-reference-status-error:#c2410c;--keyword-reference-scrollbar-track:#dbeafe;--keyword-reference-scrollbar-track-hover:#bfdbfe;--keyword-reference-scrollbar-track-active:#93c5fd;--keyword-reference-scrollbar-thumb:#3b82f6;--keyword-reference-scrollbar-thumb-hover:#2563eb;--keyword-reference-scrollbar-thumb-active:#1d4ed8}body.theme-material .keyword-reference-search-row input[type="text"]{background:var(--keyword-reference-panel);border-color:var(--keyword-reference-border);color:var(--keyword-reference-text)}body.theme-material .keyword-reference-search-row input[type="text"]::placeholder{color:var(--keyword-reference-muted)}body.theme-material .command-word-search-select,body.theme-material .command-word-details{background:var(--keyword-reference-panel);border-color:var(--keyword-reference-border);color:var(--keyword-reference-text)}body.theme-material .command-word-search-select option{background:var(--keyword-reference-panel);color:var(--keyword-reference-text)}body.theme-dracula .keyword-reference-modal-content{--keyword-reference-surface:var(--theme-surface);--keyword-reference-panel:var(--theme-bg);--keyword-reference-panel-strong:color-mix(in srgb,var(--theme-bg) 84%,#000 16%);--keyword-reference-border:var(--theme-border);--keyword-reference-text:var(--theme-text);--keyword-reference-muted:var(--theme-muted-text);--keyword-reference-link:#9fb7ff;--keyword-reference-link-hover:#c7d7ff;--keyword-reference-status-bg:color-mix(in srgb,var(--theme-bg) 88%,#000 12%);--keyword-reference-status-info:#c7d7ff;--keyword-reference-status-error:#fca5a5;--keyword-reference-scrollbar-track:#2b3553;--keyword-reference-scrollbar-track-hover:#384467;--keyword-reference-scrollbar-track-active:#45527a;--keyword-reference-scrollbar-thumb:#6ea8ff;--keyword-reference-scrollbar-thumb-hover:#4d8cff;--keyword-reference-scrollbar-thumb-active:#3a73dc}body.theme-dracula .keyword-reference-search-row input[type="text"]{background:var(--keyword-reference-panel);border-color:var(--keyword-reference-border);color:var(--keyword-reference-text)}body.theme-dracula .keyword-reference-search-row input[type="text"]::placeholder{color:var(--keyword-reference-muted)}body.theme-dracula .command-word-search-select,body.theme-dracula .command-word-details{background:var(--keyword-reference-panel);border-color:var(--keyword-reference-border);color:var(--keyword-reference-text)}body.theme-dracula .command-word-search-select option{background:var(--keyword-reference-panel);color:var(--keyword-reference-text)}@media (max-width:900px){.keyword-reference-modal-content{min-width:0;width:94vw;height:84vh}}.reset-framework,.support-framework,.show-parsons,#download,#upload{display:flex;gap:10px}.reset-framework button,.support-framework button,.show-parsons button,.download-button,.upload-button{width:130px;padding:8px 16px;border-radius:4px;border:1px solid #6785e9;background-color:#6785e9;color:#ffffff;font-size:13px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease;cursor:pointer}#parsons-button{white-space:nowrap}.sidebar .sidebar-item button,.sidebar .sidebar-item .download-button,.sidebar .sidebar-item .upload-button{width:100px}.reset-framework button:hover,.support-framework button:hover,.show-parsons button:hover,.download-button:hover,.upload-button:hover{background-color:#ffffff;color:#6785e9;border-color:#6785e9}.sidebar-item label,.sidebar-item>span{flex-shrink:0;font-weight:500;font-size:13px;color:#cbd5e0}.theme-container,.toggle-container{margin-left:auto;display:flex;gap:10px;align-items:center}#slider{margin-left:auto;flex-shrink:0;width:120px;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;appearance:none}#slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#6785e9;cursor:pointer;border:none}#slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#6785e9;cursor:pointer;border:none}.sidebar-item h2{margin:0}.theme-container,.toggle-container{display:flex;gap:10px;align-items:center}.sidebar-header{padding:16px;font-size:14px;font-weight:600;color:#cbd5e0;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #4a5568;background:#1a202c}.assessment-lock-note{margin:6px 8px;padding:8px 10px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.35);border-radius:8px;color:#fde68a;font-size:12px;line-height:1.5;display:block}.assessment-testing-disabled-banner{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:7px 10px;border-radius:999px;border:1px solid rgb(251 191 36);background:rgb(251 191 36);color:#735e07;font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap;overflow-wrap:anywhere;max-width:min(460px,calc(100vw - 40px))}.assessment-attempt-timer-banner,.assessment-interaction-locked-banner{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap;overflow-wrap:anywhere;max-width:min(520px,calc(100vw - 40px))}.assessment-attempt-timer-banner{border:1px solid rgba(32,64,78,.125);background:rgb(56 113 248 / 71%);color:#1a31d3}.assessment-attempt-timer-banner i{color:#1a31d3}.assessment-interaction-locked-banner{border:1px solid rgb(248 113 113);background:rgb(248 113 113 / 93%);color:#fff2f2}.assessment-interaction-locked-banner i{color:#fca5a5}.assessment-disabled-control{opacity:.55;pointer-events:none}.assessment-focus-warning-banner{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:7px 10px;border-radius:999px;border:1px solid rgba(251,191,36,.5);background:rgba(251,191,36,.13);color:#fef3c7;font-size:12px;font-weight:600;line-height:1.25;white-space:normal;overflow-wrap:anywhere;max-width:min(520px,calc(100vw - 40px))}.assessment-focus-warning-banner i{color:#fbbf24}.assessment-fullscreen-btn{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:7px 11px;border-radius:999px;border:1px solid rgba(56,189,248,.45);background:rgba(56,189,248,.1);color:#dbeafe;cursor:pointer;font-size:12px;font-weight:600;line-height:1}.assessment-fullscreen-btn:hover{background:rgba(56,189,248,.2)}.assessment-start-gate{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center}.assessment-start-gate-backdrop{position:absolute;inset:0;background:rgba(10,18,34,.62);backdrop-filter:blur(2px)}.assessment-start-gate-dialog{position:relative;width:min(540px,calc(100vw - 32px));padding:24px 22px;border-radius:16px;border:1px solid rgba(248,113,113,.45);background:linear-gradient(180deg,#1d2b45 0%,#16243a 100%);color:#f8fafc;box-shadow:0 24px 60px rgba(2,8,23,.45);text-align:center}.assessment-start-gate-dialog h3{margin:0 0 10px;font-size:22px;line-height:1.2}.assessment-start-gate-text{margin:0 0 16px;font-size:14px;font-weight:600;line-height:1.5;color:#e2e8f0}.assessment-start-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.45);background:#b91c1c;color:#fff5f5;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer}.assessment-start-btn:hover{background:#991b1b}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;pointer-events:none;animation:fadeIn .2s ease}.video-modal-content{cursor:default;pointer-events:auto}.modal-drag-handle{background:#8b5cf6;color:white;padding:8px 12px;cursor:move;display:flex;align-items:center;justify-content:space-between;user-select:none}.modal-drag-handle:active{cursor:grabbing}.drag-icon{font-size:20px;font-weight:bold;letter-spacing:-2px;margin-right:8px}.drag-text{font-size:12px;font-weight:500;opacity:.95}.modal-close-btn{background:transparent;border:none;outline:none;color:white;font-size:22px;cursor:pointer;line-height:1;padding:4px 6px;transition:all .2s ease;font-weight:300;opacity:.8}.modal-close-btn:hover{color:white;opacity:1;transform:scale(1.15)}#videoContainer{padding:0;height:calc(100% - 44px);overflow:hidden;display:flex;flex-direction:column}.video-modal-content{resize:both;overflow:auto;min-width:400px;min-height:300px;width:800px;height:500px;display:flex;flex-direction:column;position:relative}.video-modal-content::before{content:'RESIZE';position:absolute;bottom:16px;right:2px;font-size:7px;font-weight:bold;color:#8b5cf6;transform:rotate(-45deg);transform-origin:center;pointer-events:none;z-index:10;opacity:.8;letter-spacing:1px;background:rgba(255,255,255,.9);padding:2px 4px;border-radius:2px}#videoContainer iframe{display:block;width:100%;height:100%;flex:1;border:none}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#ffffff;padding:0;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:90%;max-height:90vh;overflow:hidden}.modal-content>h2:first-child,.modal-content>h3:first-child{background-color:#6785e9;color:#ffffff;padding:16px 24px;margin:0 0 24px 0;font-size:18px;font-weight:600}.video-button{background-color:#4361ee;color:white;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;height:auto;display:inline-flex;align-items:center;gap:8px;transition:all .2s ease;font-weight:500;font-family:'Open Sans',sans-serif;white-space:nowrap}.video-button i{font-size:14px}.video-button:hover{background-color:#3a53cc;transform:translateY(-1px);box-shadow:0 2px 8px rgba(67,97,238,.3)}:root{--loader-overlay-bg:radial-gradient(circle at 18% 12%,rgba(95,128,242,.28),rgba(14,27,56,.9));--loader-card-bg:linear-gradient(150deg,rgba(255,255,255,.98),rgba(245,249,255,.95));--loader-card-border:rgba(3,37,149,.35);--loader-card-shadow:0 28px 65px rgba(9,17,36,.36);--loader-title-color:#203764;--loader-message-color:#2f4d8d;--loader-detail-color:#3f5377;--loader-spinner-track:rgba(67,97,238,.18);--loader-spinner-head:#4361ee;--runtime-toast-bg:rgba(19,30,58,.94);--runtime-toast-border:rgba(116,155,255,.45);--runtime-toast-text:#f1f5ff;--runtime-toast-shadow:0 14px 32px rgba(6,12,24,.35)}body.theme-dracula,html.dark-mode,body.dark-mode{--loader-overlay-bg:radial-gradient(circle at 18% 12%,rgba(108,132,255,.22),rgba(18,22,35,.94));--loader-card-bg:linear-gradient(150deg,rgba(40,43,58,.98),rgba(34,37,50,.96));--loader-card-border:rgba(130,151,255,.35);--loader-card-shadow:0 30px 70px rgba(2,4,12,.62);--loader-title-color:#f2f4ff;--loader-message-color:#b7c3ff;--loader-detail-color:#adb8d8;--loader-spinner-track:rgba(140,162,255,.24);--loader-spinner-head:#90a4ff;--runtime-toast-bg:rgba(23,27,41,.95);--runtime-toast-border:rgba(133,153,255,.38);--runtime-toast-text:#eef1ff;--runtime-toast-shadow:0 16px 36px rgba(0,0,0,.5)}body.theme-material{--loader-overlay-bg:radial-gradient(circle at 18% 12%,rgba(118,206,191,.2),rgba(22,37,44,.95));--loader-card-bg:linear-gradient(150deg,rgba(47,64,73,.98),rgba(40,56,65,.96));--loader-card-border:rgba(145,226,212,.28);--loader-card-shadow:0 30px 70px rgba(4,11,15,.5);--loader-title-color:#e3fffb;--loader-message-color:#b5f7e9;--loader-detail-color:#addfd4;--loader-spinner-track:rgba(168,240,226,.22);--loader-spinner-head:#80cbc4;--runtime-toast-bg:rgba(43,57,65,.95);--runtime-toast-border:rgba(141,227,210,.35);--runtime-toast-text:#ecfffb;--runtime-toast-shadow:0 16px 36px rgba(4,11,15,.44)}#runtime-prep-toast{background:var(--runtime-toast-bg)!important;border-color:var(--runtime-toast-border)!important;color:var(--runtime-toast-text)!important;box-shadow:var(--runtime-toast-shadow)!important}#loading-overlay{position:fixed;width:100%;height:100%;top:0;left:0;background:var(--loader-overlay-bg);backdrop-filter:blur(2px);z-index:9999;justify-content:center;align-items:center}#loading-overlay{display:flex}#loading-overlay.is-hidden{display:none}.codeit-loading-card{width:min(520px,calc(100% - 36px));border-radius:18px;background:var(--loader-card-bg);border:1px solid var(--loader-card-border);box-shadow:var(--loader-card-shadow);padding:30px 28px 26px;text-align:center;color:var(--loader-title-color);position:relative;overflow:hidden}#loading-overlay-title{margin:16px 0 8px;font-size:25px;letter-spacing:.1px;color:var(--loader-title-color)}#loading-overlay-message{margin:0;font-size:16px;color:var(--loader-message-color);font-weight:600}#loading-overlay-detail{margin:14px auto 0;max-width:420px;font-size:13px;line-height:1.45;color:var(--loader-detail-color)}.loading-spinner{margin:0 auto;border:10px solid var(--loader-spinner-track);border-top:10px solid var(--loader-spinner-head);border-radius:50%;width:84px;height:84px;animation:spin 1.15s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media (max-width:720px){.codeit-loading-card{padding:22px 18px;border-radius:12px}#loading-overlay-title{font-size:21px}#loading-overlay-message{font-size:15px}}#parsons-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:hidden;background-color:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:flex-start;padding-top:20px;pointer-events:auto}#parsons-modal *{pointer-events:auto}.parsons-container{display:flex;justify-content:space-between}.sortable-container{border:1px solid #ccc;min-height:200px;max-height:400px;margin:5px;padding:10px;padding-bottom:30px;overflow-y:auto}.parsons-header{font-weight:bold;margin:10px;text-align:center}.parsons-modal-content{background-color:#fefefe;padding:20px;border:1px solid #888;width:85%;max-height:92vh;display:flex;flex-direction:column;border:solid 1px lightgrey;box-shadow:0 4px 20px rgba(0,0,0,.3);min-height:fit-content}.parsons-modal-heading,.parsons-modal-footer{flex-shrink:0;text-align:center}.parsons-modal-heading{font-size:20px;font-weight:bold;background-color:#764ba2;color:white;padding:8px;margin:-20px -20px 15px -20px;box-shadow:0 2px 10px rgba(102,126,234,.3)}#parsons-function-selector-wrapper{margin-bottom:15px}#parsons-function-selector{padding:12px;background:#f8f9fa;border-radius:0;border-left:4px solid #667eea;box-shadow:0 2px 6px rgba(0,0,0,.08)}#parsons-function-selector label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}#parsons-function-selector select{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:white;cursor:pointer;transition:all .2s ease}#parsons-function-selector select:hover{border-color:#667eea}#parsons-function-selector select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}#parsons-function-selector .parsons-selector-hint{margin-top:8px;font-size:12px;color:#666;font-style:italic}#parsons-problem-container{gap:5px;padding:10px;box-sizing:border-box}#parsons-solution{box-sizing:border-box}.parsons-draggable-block{border:1px solid #ccc;background-color:#f9f9f9;box-shadow:0 2px 5px rgba(0,0,0,.1);margin:2px 0}.parsons-draggable-line{cursor:pointer;transition:background-color .2s ease;padding:6px}.parsons-draggable-block:hover{background-color:#eaeaea}.parsons-drop-placeholder{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);border:2px dashed #667eea;border-radius:5px;margin:5px 0;opacity:.5;min-height:40px;animation:pulse-drop 1s ease-in-out infinite}@keyframes pulse-drop{0%,100%{opacity:.3}50%{opacity:.6}}.parsons-keyword{color:#0000ff}.parsons-comment{color:#ff7f7f}.parsons-string{color:#008000}#parsons-source-container,#parsons-solution-container{flex:1}.submit-button[disabled]{cursor:not-allowed}#project-description h1{background-color:transparent;color:rgb(126,126,141);padding:5px 0;padding-bottom:10px;border-bottom:3px solid rgb(151,185,200);border-radius:0;margin-bottom:15px;width:100%;font-family:'Open Sans',sans-serif;font-weight:800;font-size:28px;letter-spacing:1.2px}#project-description h2{color:#666666;text-decoration:none;font-family:'Open Sans',sans-serif;font-weight:400;margin-top:20px;margin-bottom:12px;padding-bottom:5px;border-bottom:2px solid #e0e6ed}#project-description blockquote{border-left:3px solid #000000;padding-left:38px}.star-modal,.custom-modal,.achievement-modal{display:none;position:fixed;z-index:100;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.5)}.star-modal{display:flex;justify-content:center;align-items:center;pointer-events:auto;animation:fadeIn .3s ease}.custom-modal{justify-content:center;align-items:center;pointer-events:auto}.achievement-modal{display:flex;justify-content:center;align-items:center;pointer-events:auto;background:radial-gradient(circle at center,rgba(255,242,166,.45),rgba(8,15,35,.75));animation:fadeIn .25s ease}.star-modal-content,.custom-modal-content{background-color:white;margin:2% auto;padding:0;border:none;width:20%;text-align:center;border-radius:0;box-shadow:0 4px 20px rgba(0,0,0,.2)}.star-modal-content{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;padding:40px;min-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.4);animation:modalBounce .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes modalBounce{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}.star-display{color:white}.star-display h2{color:white;font-size:32px;margin:20px 0 10px 0;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.star-display p{color:white;font-size:18px;margin:10px 0 0 0;font-weight:500}.celebration-action-btn{margin-top:20px;border:0;border-radius:50px;padding:16px 36px;font-size:18px;font-weight:800;cursor:pointer;color:#ffffff;background:linear-gradient(135deg,#ff6b6b 0%,#ffa500 50%,#ffd700 100%);box-shadow:0 8px 24px rgba(255,107,107,.5),inset -2px -2px 4px rgba(0,0,0,.2),inset 2px 2px 4px rgba(255,255,255,.3);transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden;text-shadow:1px 1px 2px rgba(0,0,0,.3);letter-spacing:.3px;animation:celebrationPulse 2s ease-in-out infinite}.celebration-action-btn:hover{transform:scale(1.05);box-shadow:0 12px 32px rgba(255,107,107,.7),inset -2px -2px 6px rgba(0,0,0,.25),inset 2px 2px 6px rgba(255,255,255,.4);color:#ffffff}.celebration-action-btn:active{transform:scale(1.02);box-shadow:0 4px 16px rgba(255,107,107,.6),inset -2px -2px 4px rgba(0,0,0,.3),inset 2px 2px 4px rgba(255,255,255,.2);color:#ffffff}@keyframes celebrationPulse{0%,100%{box-shadow:0 8px 24px rgba(255,107,107,.5),inset -2px -2px 4px rgba(0,0,0,.2),inset 2px 2px 4px rgba(255,255,255,.3)}50%{box-shadow:0 10px 28px rgba(255,165,0,.6),inset -2px -2px 6px rgba(0,0,0,.15),inset 2px 2px 6px rgba(255,255,255,.35)}}.achievement-modal-content{width:min(92vw,560px);border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#12223f 0%,#1d2f56 45%,#0d1830 100%);color:#f7fbff;box-shadow:0 24px 48px rgba(4,8,20,.55);border:1px solid rgba(255,255,255,.18);animation:modalBounce .45s cubic-bezier(.68,-.55,.265,1.55)}.achievement-header{padding:24px 28px 12px 28px;text-align:center}.achievement-kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#86ffe1;font-weight:700}.achievement-header h2{margin:8px 0 6px 0;color:#ffffff;font-size:30px;border:0;padding:0}.achievement-header p{margin:0;color:#d6e0ff;font-size:15px}.achievement-body{padding:14px 28px 6px 28px;display:flex;flex-direction:column;align-items:center;gap:12px}.achievement-badge-wrap{width:140px;height:140px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.achievement-badge-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:16px}.achievement-badge-fallback{font-size:64px}.achievement-reward-text{font-size:16px;font-weight:700;color:#ffe082}.achievement-counter{font-size:13px;color:#aac3fb}.achievement-actions{padding:10px 28px 24px 28px;display:flex;justify-content:center}@media (max-width:700px){.star-modal-content{min-width:280px;width:min(92vw,420px);padding:30px 20px}.achievement-header h2{font-size:24px}.achievement-badge-wrap{width:112px;height:112px}}#starIcons{display:flex;justify-content:center;gap:15px;margin-bottom:10px}.custom-modal-content{width:auto;min-width:350px;max-width:80%;text-align:center;display:inline-block;overflow:hidden}.custom-modal-header{display:block;background-color:#6785e9;color:#ffffff;padding:16px 24px;font-size:16px;font-weight:600;margin:0}.custom-modal-content p,.custom-modal-content #modalMessage{padding:24px 24px 16px 24px}.custom-modal-content #modalButtons{padding:0 24px 24px 24px}#modalButtons{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.custom-modal-content button,.modal-content button:not(.close){padding:8px 20px;margin:0;color:#ffffff;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.custom-modal-content button:hover,.modal-content button:not(.close):hover{background-color:#ffffff;color:#6785e9}.gold-star{color:#ffd700;font-size:80px;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.5);animation:starPop .6s ease backwards;filter:drop-shadow(0 5px 10px rgba(0,0,0,.3))}.gold-star:nth-child(1){animation-delay:.1s}.gold-star:nth-child(2){animation-delay:.2s}.gold-star:nth-child(3){animation-delay:.3s}@keyframes starPop{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.2) rotate(10deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}iframe{background-color:black;width:600px;height:340px}.accordion-row{display:flex;gap:15px;align-items:flex-start;margin-bottom:10px}.accordion-row .accordion-left-content{flex-shrink:0}.accordion-row .accordion-left-content img{width:auto;max-width:160px;height:auto;border-radius:6px;object-fit:cover;display:block}.accordion-row .accordion-left-content i{font-size:48px;color:#47cf6e}.accordion-icon--small{font-size:32px!important}.accordion-icon--medium{font-size:48px!important}.accordion-icon--large{font-size:72px!important}.accordion-left-img{display:block;height:auto}.accordion-row .accordion{flex:1;margin-bottom:0}.accordion .accordion-content{display:none;background-color:white;padding:0 10px}.accordion-content{display:none}.accordion-content.active{display:block}.accordion .accordion-title{background-color:#47cf6e;cursor:pointer;padding:10px;width:100%;text-align:left;border:none;outline:none;border-radius:0;font-size:16px;height:auto}.accordion-content p{padding:10px;margin:0;white-space:pre-wrap;word-wrap:break-word}.accordion{margin-bottom:10px}table,tbody,th,td{border:solid 1px black;border-collapse:collapse;padding:5px}.tab-container{display:flex;align-items:center;border-bottom:none;background-color:#fafbfc;gap:0}.tab-container ul{list-style-type:none;padding:0;margin:0;display:flex}#tab-list{display:flex;overflow-x:auto;white-space:nowrap;flex-grow:1;width:100%}.tab{padding:12px 16px;position:relative;cursor:pointer;border:none;border-bottom:3px solid transparent;display:flex;justify-content:space-between;align-items:center;gap:8px;color:#718096;font-size:13px;font-weight:500;white-space:nowrap;transition:all .2s ease;background-color:transparent;flex-shrink:0}.tab:hover{background-color:#f0f4f8;color:#4a5568}.tab.active{background-color:#ffffff;color:#2d3748;border-bottom-color:#6785e9}#add-tab{padding:10px;cursor:pointer}.tab input{border:none;outline:none;width:100px}.tab .icons{gap:5px;flex-direction:row;margin-left:10px;background-color:white;padding:5px;border-radius:5px;border:solid 1px}.tab .icons .icon{cursor:pointer;font-size:.8em}#back-arrow,#forward-arrow{cursor:pointer;background-color:transparent;border:none;border-radius:0;height:100%;width:40px;margin:0;display:flex;align-items:center;justify-content:center;color:#4a5568;font-size:18px;transition:all .2s ease;flex-shrink:0}button#return-playground-button{min-width:170px}#back-arrow:hover,#forward-arrow:hover{background-color:rgba(107,114,128,.1);color:#2d3748}li.tab.active input{background-color:#f0f0f0;font-size:1em}li.tab input{background-color:#cfe2fe;font-size:1em}.editor-pane{height:100%}.icons-container{position:absolute;top:0;right:2px;display:flex;gap:1px}.not-writeable-icon,.padlock-icon{color:#000000;font-size:7px;border:1px solid #000000;background-color:#ffffff;border-radius:3px;padding:2px}.not-writeable-icon{position:relative;cursor:pointer}.not-writeable-icon::after,.padlock-icon::after{content:attr(aria-label);position:absolute;bottom:-10px;left:-60px;transform:translateX(-50%);background-color:#333;color:#fff;padding:5px 10px;border-radius:4px;white-space:nowrap;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;font-family:'Rubik',sans-serif}.not-writeable-icon:hover::after,.padlock-icon:hover::after{opacity:1}.tab{position:relative}.session-warning-modal,.session-expired-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.session-warning-modal.active,.session-expired-modal.active{opacity:1;visibility:visible}.session-warning-content,.session-expired-content{background-color:white;padding:25px;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.2);max-width:400px;width:90%;text-align:center;transform:translateY(-20px);transition:transform .3s ease;border:1px solid #e2e8f0}.session-warning-content{border-top:4px solid #0347b5}.session-expired-content{border-top:4px solid #e74c3c}.session-warning-modal.active .session-warning-content,.session-expired-modal.active .session-expired-content{transform:translateY(0)}.session-warning-content h3,.session-expired-content h3{font-size:1.5rem;margin-top:0;margin-bottom:10px;color:#152032;font-weight:600}.session-warning-content p,.session-expired-content p{color:#4a5568;font-size:1rem;line-height:1.5;margin-bottom:15px}.session-timer{font-size:24px;font-weight:bold;margin:15px 0;padding:8px 15px;background-color:rgba(231,76,60,.1);border-radius:8px;color:#e74c3c;display:inline-block;border:1px solid rgba(231,76,60,.2);font-family:'Rubik',sans-serif;letter-spacing:1px}.session-warning-buttons{display:flex;justify-content:center;gap:12px;margin-top:20px}.session-warning-modal button,.session-expired-modal button{background-color:#ffffff;color:#152032;border:1px solid #e2e8f0;border-radius:8px;padding:10px 20px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px;font-size:.95rem;font-family:'Rubik',sans-serif}.session-warning-modal .primary-btn{background-color:blue;color:white;border:1px solid blue}.session-warning-modal .primary-btn:hover{background-color:rgb(61,61,235)}.session-expired-modal .primary-btn{background-color:#e74c3c;color:white;border:1px solid #e74c3c}.session-expired-modal .primary-btn:hover{background-color:#c0392b}.session-warning-modal button:hover,.session-expired-modal button:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.session-warning-modal button:active,.session-expired-modal button:active{transform:translateY(0)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.session-timer.urgent{animation:pulse 2s infinite;color:white;background-color:#e74c3c}@media screen and (max-width:520px){.session-warning-buttons{flex-direction:column;gap:10px}.session-warning-buttons button{width:100%}.session-warning-content,.session-expired-content{padding:20px;width:85%}.session-timer{font-size:20px}}.project-navigation-container{background-color:#ffffff;border-bottom:1px solid #e0e6ed;margin-bottom:0;box-shadow:0 1px 2px rgba(0,0,0,.05);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.assignment-title-container{display:flex;align-items:center;justify-content:center;padding:5px 15px;flex-grow:1;margin:0 15px;gap:10px}.nav-header{padding:12px 15px;display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa}.assignment-title{font-weight:600;font-size:16px;color:#374151}.toggle-nav-button{background-color:white;border:1px solid #414141;color:#6b7280;cursor:pointer;font-size:13px;padding:10px 10px;transition:color .2s;border-radius:5px}.toggle-nav-button:hover{color:#1f2937;background-color:#b7d1f4}.nav-content{padding:15px;transition:max-height .3s ease-in-out,opacity .2s,padding .3s;overflow:hidden;background-color:#ffffff}.nav-content.hidden{max-height:0;padding:0 15px;opacity:0}.nav-controls{display:flex;align-items:center;gap:15px;margin-bottom:20px}.nav-button{background-color:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,color .2s}.nav-button:hover:not(:disabled){background-color:#e5e7eb;color:#111827}.nav-button:disabled{background-color:#f9fafb;color:#d1d5db;cursor:not-allowed;border-color:#f3f4f6}.project-dropdown{flex:1;padding:8px 12px;border-radius:4px;border:1px solid #d1d5db;font-size:14px;color:#374151;background-color:white;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd' /%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding-right:30px}.project-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.status-label{display:inline-block;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:500;margin-right:8px}.status-completed{background-color:#d1fae5;color:#065f46}.status-started{background-color:#fef3c7;color:#92400e}.status-not-started{background-color:#f3f4f6;color:#6b7280}.assignment-progress{margin-top:10px}.progress-bar-container{margin-bottom:15px}.progress-bar{height:8px;background-color:#f3f4f6;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981 0%,#34d399 100%);transition:width .5s ease}.progress-text{font-size:12px;color:#6b7280;text-align:right;margin-top:6px}.progress-stats{display:flex;flex-wrap:wrap;flex-direction:row-reverse;gap:15px;font-size:13px;color:#4b5563;margin-top:10px}.stat{display:flex;align-items:center;gap:6px}.stat-indicator{width:12px;height:12px;border-radius:2px}.stat-completed .stat-indicator{background-color:#10b981}.stat-in-progress .stat-indicator{background-color:#f59e0b}.stat-not-started .stat-indicator{background-color:#e5e7eb}.nav-loading,.nav-error{padding:15px;text-align:center;color:#6b7280;font-size:14px}.nav-error{color:#ef4444}@media (max-width:1020px){.assignment-title{display:none}}@media (max-width:768px){.nav-controls{flex-direction:column;align-items:stretch}.header{flex-direction:column}.progress-stats{flex-direction:column;gap:8px}}.toast{position:fixed;bottom:30px;right:30px;padding:15px 25px;box-shadow:var(--box-shadow-lg);z-index:1100;font-size:15px;font-weight:500;display:flex;align-items:center;gap:10px;animation:slideIn .3s forwards;max-width:450px;color:var(--text-white)}.toast.info{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));border-left:4px solid var(--primary-dark)}.toast.success{background:linear-gradient(135deg,var(--success-color),var(--secondary-dark));border-left:4px solid var(--secondary-dark)}.toast.error{background:linear-gradient(135deg,var(--danger-color),var(--danger-darkest));border-left:4px solid var(--danger-darkest)}.toast.warning{background:linear-gradient(135deg,var(--warning-color),var(--warning-dark));border-left:4px solid var(--warning-dark)}.toast i{font-size:18px}.toast.fade-out{opacity:0;transition:opacity .3s ease-out}@keyframes slideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;top:110%;left:50%;transform:translateX(-50%);margin-bottom:8px;padding:6px 12px;border-radius:4px;background-color:var(--background-dark);color:var(--text-white);text-align:center;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s;pointer-events:none;z-index:999;box-shadow:var(--box-shadow-sm);overflow:visible;height:fit-content}[data-tooltip]:after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border-width:5px;border-style:solid;border-color:var(--background-dark) transparent transparent transparent;margin-bottom:-2px;opacity:0;visibility:hidden;transition:all .2s}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}[data-tooltip-position="left"]:before{top:50%;left:auto;right:100%;transform:translateY(-50%);margin-bottom:0;margin-right:8px}[data-tooltip-position="left"]:after{top:50%;left:auto;right:100%;bottom:auto;transform:translateY(-50%);margin-bottom:0;margin-right:3px;border-color:transparent transparent transparent var(--background-dark)}[data-tooltip-position="right"]:before{top:50%;left:100%;transform:translateY(-50%);margin-bottom:0;margin-left:8px}[data-tooltip-position="right"]:after{top:50%;left:100%;bottom:auto;transform:translateY(-50%);margin-bottom:0;margin-left:3px;border-color:transparent var(--background-dark) transparent transparent}.success-button{background-color:var(--success-color)!important}.error-button{background-color:var(--danger-color)!important}input[type="text"],input[type="email"],input[type="password"],input[type="number"],textarea,select{border:1px solid #cbd5e0;border-radius:4px;padding:8px 12px;font-size:13px;font-family:inherit;transition:all .2s ease;background-color:#ffffff}input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="number"]:focus,textarea:focus,select:focus{outline:none;border-color:#6785e9;box-shadow:0 0 0 3px rgba(103,133,233,.1);background-color:#ffffff}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236785e9' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:30px}.CodeMirror-vscrollbar::-webkit-scrollbar,.CodeMirror-hscrollbar::-webkit-scrollbar{width:10px;height:10px}.CodeMirror-vscrollbar::-webkit-scrollbar-track,.CodeMirror-hscrollbar::-webkit-scrollbar-track{background:#e2e8f0}.CodeMirror-vscrollbar::-webkit-scrollbar-thumb,.CodeMirror-hscrollbar::-webkit-scrollbar-thumb{background:#94a3b8;min-height:30px}.CodeMirror-vscrollbar::-webkit-scrollbar-thumb:hover,.CodeMirror-hscrollbar::-webkit-scrollbar-thumb:hover{background:#64748b}.CodeMirror-vscrollbar::-webkit-scrollbar-button,.CodeMirror-hscrollbar::-webkit-scrollbar-button{display:none;width:0;height:0}.CodeMirror-scroll,.right-container,.tab-content,#output-box,#test-container,#project-description{scrollbar-color:#94a3b8 #e2e8f0;scrollbar-width:thin}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#e2e8f0!important}.debug-panel{position:fixed;right:20px;top:80px;width:420px;min-width:320px;max-width:600px;height:600px;min-height:400px;max-height:calc(100vh - 100px);background:var(--background-white,#ffffff);border:1px solid var(--border-medium,#cbd5e0);box-shadow:0 20px 50px rgba(0,0,0,.15);z-index:9999;display:none;flex-direction:column;overflow:hidden;font-family:'Open Sans',sans-serif;resize:both}body.theme-material .debug-panel{background:var(--theme-surface);border-color:var(--theme-border);box-shadow:0 20px 50px rgba(0,0,0,.4)}body.theme-dracula .debug-panel{background:var(--theme-surface);border-color:var(--theme-border);box-shadow:0 20px 50px rgba(0,0,0,.5)}.debug-header{background:#4a5568;color:white;padding:5px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;cursor:move;user-select:none}body.theme-material .debug-header{background:linear-gradient(135deg,var(--theme-primary) 0%,#1a6f5f 100%)}body.theme-dracula .debug-header{background:linear-gradient(135deg,var(--theme-primary) 0%,#a3b588 100%)}.debug-header h3{margin:0;font-size:14px;font-weight:400;letter-spacing:.3px;display:flex;align-items:center;gap:8px;color:white}.debug-close-btn{background:rgba(255,255,255,.15);border:none;color:white;font-size:14px;line-height:1;cursor:pointer;padding:4px 10px;border-radius:4px;transition:background .2s}.debug-close-btn:hover{background:rgba(255,255,255,.25)}.debug-controls{padding:16px;background:var(--background-light,#f8f9fa);border-bottom:1px solid var(--border-light,#e2e8f0);display:flex;gap:10px}body.theme-material .debug-controls{background:var(--theme-bg);border-bottom-color:var(--theme-border)}body.theme-dracula .debug-controls{background:var(--theme-bg);border-bottom-color:var(--theme-border)}.debug-btn{flex:1;padding:10px 14px;border:1px solid var(--border-medium,#cbd5e0);background:var(--background-white,white);color:var(--text-color,#2d3748);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}body.theme-material .debug-btn{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}body.theme-dracula .debug-btn{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}.debug-btn:hover{background:#4a5568;color:white;border-color:#4a5568;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}body.theme-material .debug-btn:hover{background:var(--theme-primary);border-color:var(--theme-primary)}body.theme-dracula .debug-btn:hover{background:var(--theme-primary);border-color:var(--theme-primary)}.debug-btn:active{transform:translateY(0)}.debug-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.debug-btn:disabled:hover{background:var(--background-white,white);color:var(--text-color,#2d3748);border-color:var(--border-medium,#cbd5e0)}body.theme-material .debug-btn:disabled:hover,body.theme-dracula .debug-btn:disabled:hover{background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)}.debug-btn-danger{background:var(--danger-bg,#fff5f5);border-color:var(--danger-color,#e53e3e);color:var(--danger-dark,#c53030)}body.theme-material .debug-btn-danger{background:rgba(255,83,112,.1);border-color:var(--theme-error);color:var(--theme-error)}body.theme-dracula .debug-btn-danger{background:rgba(255,121,198,.1);border-color:var(--theme-error);color:var(--theme-error)}.debug-btn-danger:hover{background:var(--danger-color,#e53e3e);color:white;border-color:var(--danger-color,#e53e3e)}.debug-info{padding:14px 20px;background:#f7fafc;border-bottom:1px solid var(--border-light,#e2e8f0)}body.theme-material .debug-info{background:linear-gradient(to bottom,rgba(46,153,125,.15),transparent);border-bottom-color:var(--theme-border)}body.theme-dracula .debug-info{background:linear-gradient(to bottom,rgba(205,210,148,.1),transparent);border-bottom-color:var(--theme-border)}.debug-line-info{font-size:13px;color:var(--text-medium,#4a5568);font-weight:500;letter-spacing:.3px}body.theme-material .debug-line-info{color:var(--theme-secondary-text)}body.theme-dracula .debug-line-info{color:var(--theme-secondary-text)}.debug-file-info{font-size:12px;opacity:.95}.debug-line-info span{color:#2d3748;font-weight:700;font-size:16px;font-family:'Courier New',monospace}.debug-file-info span{font-size:13px;font-weight:600}body.theme-material .debug-line-info span{color:var(--theme-primary)}body.theme-dracula .debug-line-info span{color:var(--theme-primary)}.debug-variables{flex:1;overflow-y:auto;padding:16px;background:var(--background-white,#ffffff)}body.theme-material .debug-variables{background:var(--theme-bg)}body.theme-dracula .debug-variables{background:var(--theme-bg)}.debug-variables h4{margin:0 0 14px 0;font-size:12px;color:var(--text-medium,#4a5568);font-weight:700;text-transform:uppercase;letter-spacing:1px;padding-bottom:8px;border-bottom:2px solid var(--border-light,#e2e8f0)}body.theme-material .debug-variables h4{color:var(--theme-muted-text);border-bottom-color:var(--theme-border)}body.theme-dracula .debug-variables h4{color:var(--theme-muted-text);border-bottom-color:var(--theme-border)}.debug-variables-list{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 300px);overflow-y:auto;padding-right:8px}.debug-variables-list::-webkit-scrollbar{width:8px}.debug-variables-list::-webkit-scrollbar-track{background:var(--background-light,#f7fafc);border-radius:4px}.debug-variables-list::-webkit-scrollbar-thumb{background:var(--border-color,#cbd5e0);border-radius:4px}.debug-variables-list::-webkit-scrollbar-thumb:hover{background:var(--text-light,#a0aec0)}.debug-no-vars{text-align:center;color:var(--text-light,#a0aec0);font-size:13px;padding:30px 20px;font-style:italic}body.theme-material .debug-no-vars,body.theme-dracula .debug-no-vars{color:var(--theme-muted-text)}.debug-function-header{font-weight:700;font-size:14px;margin:4px 0 12px 0;padding:10px 12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;border-radius:6px;box-shadow:0 2px 8px rgba(102,126,234,.3);display:flex;align-items:center;gap:8px}.debug-function-header i{font-size:16px}body.theme-material .debug-function-header{background:linear-gradient(135deg,var(--theme-primary) 0%,#1565c0 100%);box-shadow:0 2px 8px rgba(var(--theme-primary-rgb),.3)}body.theme-dracula .debug-function-header{background:linear-gradient(135deg,#bd93f9 0%,#ff79c6 100%);box-shadow:0 2px 8px rgba(189,147,249,.3)}.debug-var-category{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px 0;padding:4px 8px;background:rgba(100,181,246,.1);border-left:3px solid #64b5f6;color:#1976d2}body.theme-material .debug-var-category{background:rgba(var(--theme-primary-rgb),.15);border-left-color:var(--theme-primary);color:var(--theme-primary)}body.theme-dracula .debug-var-category{background:rgba(189,147,249,.15);border-left-color:#bd93f9;color:#bd93f9}.debug-return-info{margin-top:8px;padding:10px 12px;background:rgba(76,175,80,.1);border-left:3px solid #4caf50;border-radius:4px;font-size:13px;font-weight:500;color:#2e7d32}body.theme-material .debug-return-info{background:rgba(129,199,132,.2);border-left-color:#81c784;color:#66bb6a}body.theme-dracula .debug-return-info{background:rgba(80,250,123,.15);border-left-color:#50fa7b;color:#50fa7b}.debug-var-item{background:var(--background-light,#f7fafc);border:1px solid var(--border-light,#e2e8f0);border-left:3px solid #718096;padding:8px 12px;transition:all .2s}body.theme-material .debug-var-item{background:var(--theme-surface);border-color:var(--theme-border);border-left-color:var(--theme-primary)}body.theme-dracula .debug-var-item{background:var(--theme-surface);border-color:var(--theme-border);border-left-color:var(--theme-primary)}.debug-var-item:hover{border-left-color:#4a5568;box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateX(2px)}body.theme-material .debug-var-item:hover,body.theme-dracula .debug-var-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.2)}.debug-var-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.debug-var-name{font-weight:700;color:var(--text-dark,#2d3748);font-size:14px;font-family:'Courier New',monospace;letter-spacing:.2px}body.theme-material .debug-var-name{color:var(--theme-text)}body.theme-dracula .debug-var-name{color:var(--theme-text)}.debug-var-type{font-size:10px;color:white;background:#718096;padding:3px 10px;border-radius:12px;text-align:right;font-weight:600;letter-spacing:.5px;text-transform:uppercase}body.theme-material .debug-var-type{background:var(--theme-primary)}body.theme-dracula .debug-var-type{background:var(--theme-primary);color:var(--theme-text-alt)}.debug-var-value{color:var(--text-medium,#4a5568);font-size:13px;font-family:'Courier New',monospace;word-break:break-word;background:var(--background-white,white);padding:10px 12px;border-radius:4px;border:1px solid var(--border-light,#e2e8f0);line-height:1.6}body.theme-material .debug-var-value{background:var(--theme-bg);color:var(--theme-secondary-text);border-color:var(--theme-border)}body.theme-dracula .debug-var-value{background:var(--theme-bg);color:var(--theme-secondary-text);border-color:var(--theme-border)}.debug-line-highlight{background:rgba(255,230,109,.4)!important;border-left:3px solid #ffa500!important}body.theme-material .debug-line-highlight{background:rgba(46,153,125,.2)!important;border-left-color:var(--theme-primary)!important}body.theme-dracula .debug-line-highlight{background:rgba(205,210,148,.15)!important;border-left-color:var(--theme-primary)!important}.CodeMirror-lint-line-error{border-left:3px solid rgba(220,50,50,.4)!important}.indent-error-line{border-left:3px solid rgba(220,50,50,.4)!important}.indent-dotted-text{border-bottom:2px dotted #cc0000!important}.debug-panel::after{content:'';position:absolute;bottom:0;right:0;width:16px;height:16px;background:linear-gradient(135deg,transparent 50%,rgba(102,126,234,.3) 50%);cursor:nwse-resize;border-bottom-right-radius:8px}body.theme-material .debug-panel::after{background:linear-gradient(135deg,transparent 50%,rgba(46,153,125,.3) 50%)}body.theme-dracula .debug-panel::after{background:linear-gradient(135deg,transparent 50%,rgba(205,210,148,.3) 50%)}.debug-variables::-webkit-scrollbar{width:8px}.debug-variables::-webkit-scrollbar-track{background:var(--background-light,#f1f1f1)}body.theme-material .debug-variables::-webkit-scrollbar-track,body.theme-dracula .debug-variables::-webkit-scrollbar-track{background:var(--theme-bg)}.debug-variables::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}body.theme-material .debug-variables::-webkit-scrollbar-thumb,body.theme-dracula .debug-variables::-webkit-scrollbar-thumb{background:var(--theme-border)}.debug-variables::-webkit-scrollbar-thumb:hover{background:#a0aec0}body.theme-material .debug-variables::-webkit-scrollbar-thumb:hover{background:var(--theme-muted-text)}body.theme-dracula .debug-variables::-webkit-scrollbar-thumb:hover{background:var(--theme-muted-text)}@media (max-width:768px){.debug-panel{right:10px;left:10px;width:auto;max-height:50vh}.debug-controls{flex-wrap:wrap}.debug-btn{flex:1 1 calc(50% - 5px)}}.parsons-line-correct{background-color:#e8f5e9!important;border-left:3px solid #4caf50!important;transition:all .3s ease}.parsons-line-incorrect{background-color:#ffebee!important;border-left:3px solid #f44336!important;transition:all .3s ease}.parsons-block-incorrect{box-shadow:none!important}.parsons-block-correct{box-shadow:none!important}.parsons-solution-success{background-color:#e8f5e9!important;border:2px solid #4caf50!important;box-shadow:none!important}.parsons-line-success{background-color:#f1f8e9!important;border-left:3px solid #4caf50!important}.btn-check-parsons,.btn-check-parsons-correct{width:120px}.btn-check-parsons-correct{background-color:#4caf50!important;color:white!important;border:2px solid #2e7d32!important}.language-selector{display:flex;align-items:center;gap:8px;margin:0 10px;font-size:13px;color:#555}.language-selector select{padding:4px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;background:#fff;cursor:pointer}.preview-panel{position:fixed;top:84px;right:12px;bottom:auto;left:auto;width:min(48vw,860px);height:min(62vh,760px);min-width:360px;min-height:320px;max-width:calc(100vw - 24px);max-height:calc(100vh - 96px);background:#fff;border:2px solid #3f51b5;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.2);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#3f51b5;color:#fff;font-size:13px;font-weight:600;gap:12px;user-select:none}.preview-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.preview-toolbar-button,.preview-close{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#fff;cursor:pointer;padding:0 7px}.preview-toolbar-button:hover,.preview-close:hover{background:rgba(255,255,255,.24)}.preview-zoom-label{min-width:42px;text-align:center;font-size:12px;color:rgba(255,255,255,.9)}.preview-close{font-size:20px}.preview-content{flex:1;min-height:0;position:relative;overflow:auto}.preview-content iframe{display:block;width:100%;height:100%;min-height:320px;border:none}.preview-resize-handle{position:absolute;z-index:2}.preview-resize-top-left,.preview-resize-top-right,.preview-resize-bottom-left,.preview-resize-bottom-right{width:18px;height:18px}.preview-resize-top-left{top:0;left:0;cursor:nwse-resize}.preview-resize-top-right{top:0;right:0;cursor:nesw-resize}.preview-resize-bottom-left{bottom:0;left:0;cursor:nesw-resize}.preview-resize-bottom-right{right:0;bottom:0;cursor:nwse-resize}.preview-resize-bottom-right::after,.preview-resize-bottom-left::after{content:'';position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid rgba(63,81,181,.55);border-bottom:2px solid rgba(63,81,181,.55)}.preview-resize-bottom-left::after{right:auto;left:4px;transform:rotate(90deg)}.preview-panel:fullscreen,.preview-panel:-webkit-full-screen{top:0!important;right:auto!important;bottom:auto!important;left:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border:0;border-radius:0}.lang-badge-icon{font-size:14px;margin-right:2px;opacity:.85}#assignment-expiry-banner,.assignment-expiry-banner{display:inline-flex;background:#fff7e6;color:#1f2937;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-color,#1f2937);background:#fff7e6;border:1px solid #ffe8b5;margin-left:12px}body[class*="theme-"] #assignment-expiry-banner,.assignment-expiry-banner{background:var(--theme-secondary-bg,#fff7e6)!important;border-color:var(--theme-border,#ffe8b5)!important;color:var(--theme-text,#1f2937)!important}.assignment-expiry-banner.overlay-bottom-left,#assignment-expiry-banner.overlay-bottom-left{position:fixed;left:18px;bottom:18px;margin-left:0;z-index:1200;box-shadow:0 6px 20px rgba(15,23,42,.12)}body[class*="theme-"] .assignment-expiry-banner.state-warning{border-color:var(--theme-warning)!important;color:var(--theme-warning)!important}body[class*="theme-"] .assignment-expiry-banner.state-urgent{border-color:var(--theme-error)!important;color:var(--theme-error)!important}body[class*="theme-"] .assignment-expiry-banner.state-ended{border-color:var(--theme-error)!important;color:var(--theme-error)!important}.assignment-expiry-banner .assignment-expiry-content{display:flex;align-items:center;gap:12px;border-radius:10px;min-width:360px;max-width:calc(100% - 48px)}.assignment-expiry-banner .assignment-expiry-text{flex:1;font-weight:600;font-size:13px}.assignment-expiry-banner .assignment-expiry-close{background:transparent;border:none;font-size:18px;line-height:1;cursor:pointer;color:inherit;padding:4px;margin-right:8px}.assessment-banner-container{background:#eef2f7;padding:0 10px 10px 10px;justify-content:center}body[class*="theme-"] .assessment-banner-container{background:var(--theme-secondary-bg,#eef2f7)!important}.comment-bank-bar{display:flex;align-items:center;gap:6px;padding:4px 0 6px;position:relative;flex-wrap:wrap}.comment-bank-save-btn,.comment-bank-use-btn{padding:4px 10px;font-size:12px;border:1px solid #dee2e6;border-radius:4px;background:transparent;color:#495057;cursor:pointer;transition:all .2s;white-space:nowrap;margin-left:2px}.comment-bank-save-btn:hover{background:#e9ecef;border-color:#adb5bd}.comment-bank-use-btn:hover{background:#e9ecef;border-color:#adb5bd}.comment-bank-save-btn i,.comment-bank-use-btn i{margin-right:4px}.comment-bank-panel{width:100%;background:#fff;border:1px solid #dee2e6;border-radius:6px;max-height:200px;overflow-y:auto;box-shadow:0 2px 8px rgba(0,0,0,.12);margin-top:2px}.comment-bank-empty{padding:12px;font-size:12px;color:#6c757d;text-align:center;font-style:italic}.comment-bank-row{display:flex;align-items:stretch;border-bottom:1px solid #f1f3f5}.comment-bank-row:last-child{border-bottom:none}.comment-bank-preview{flex:1;text-align:left;padding:8px 10px;font-size:12px;background:none;border:none;cursor:pointer;color:#343a40;white-space:pre-wrap;word-break:break-word;line-height:1.4;transition:background .12s}.comment-bank-preview:hover{background:#e9f0ff}.comment-bank-delete{flex-shrink:0;width:34px;background:none;border:none;border-left:1px solid #f1f3f5;cursor:pointer;color:#adb5bd;font-size:12px;transition:color .15s,background .15s;display:flex;align-items:center;justify-content:center}.comment-bank-delete:hover{color:#dc3545;background:#fff5f5}.comment-copy-all-btn{color:#6f42c1!important;border-color:#d6bcfa}.comment-copy-all-btn:hover{background:#f3eeff!important;border-color:#6f42c1!important}.comment-copy-all-btn:disabled{opacity:.65;cursor:not-allowed}.CodeMirror-linenumbers{width:30px!important;padding-right:3px!important;padding-left:2px!important;text-align:right!important}#feedback-threads-ui{padding:15px;background:#f8f9fa;border-radius:8px}.threads-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #dee2e6}.threads-header h3{margin:0;font-size:16px;color:#495057}.threads-actions{display:flex;align-items:center;gap:8px}.add-comment-btn{padding:8px 12px;background:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.add-comment-btn:hover{background:#0056b3}.add-comment-btn i{margin-right:5px}.add-comment-btn-icon{padding:8px 12px;background:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s;min-width:38px;height:38px;display:flex;align-items:center;justify-content:center}.add-comment-btn-icon:hover{background:#0056b3}.add-comment-btn-icon i{margin:0}.inline-hint{font-size:12px;color:#6c757d;font-style:italic;padding:8px 12px;background:#e9ecef;border-radius:4px;margin-top:10px;text-align:center}.inline-hint i{margin-right:5px}.CodeMirror-gutter.comment-gutter{width:20px!important;background:#f8f9fa;border-right:1px solid #e0e0e0}.gutter-comment-icon{width:16px;height:16px;padding:0;background:#007bff;color:white;border:none;border-radius:3px;cursor:pointer;font-size:9px;align-items:center;position:relative;justify-content:center;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);margin:2px auto;vertical-align:middle;left:2px}.gutter-comment-icon:hover{background:#0056b3;transform:scale(1.1)}.gutter-comment-icon.unread{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%);animation:gutterPulse 2s infinite;box-shadow:0 2px 8px rgba(255,107,107,.5)}.gutter-comment-icon.unread:hover{background:linear-gradient(135deg,#ff5252 0%,#e64a5f 100%);transform:scale(1.15);box-shadow:0 3px 12px rgba(255,107,107,.7)}@keyframes gutterPulse{0%,100%{box-shadow:0 2px 8px rgba(255,107,107,.5)}50%{box-shadow:0 4px 12px rgba(255,107,107,.6)}}.gutter-add-comment-btn{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:16px;height:16px;padding:0;margin:0;background:#007bff;color:white;border:none;border-radius:3px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;line-height:1;box-sizing:border-box;white-space:nowrap;z-index:100;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);pointer-events:auto;will-change:transform}.gutter-add-comment-btn:hover{background:#0056b3;transform:translate(-50%,-50%) scale(1.1)}.gutter-add-comment-btn i{font-size:9px}.inline-comment-widget{background:#fff3cd;border-left:4px solid #ffc107;margin:4px 0;margin-right:14px;padding:0;width:calc(100% - 14px);box-sizing:border-box;animation:slideDown .3s ease}@keyframes slideDown{from{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.inline-comment-widget.resolved{background:#d4edda;border-left-color:#28a745}.inline-comment-widget .comment-thread{margin:0;border:none;border-radius:0;box-shadow:none}.inline-comment-widget .comment-thread:hover{box-shadow:none}.inline-comment-widget.highlight{animation:highlightPulse 1s}@keyframes highlightPulse{0%,100%{background:#fff3cd}50%{background:#ffeaa7}}.no-comments{text-align:center;padding:20px;color:#6c757d;font-style:italic}.comment-thread{background:white;border:1px solid #dee2e6;border-radius:6px;padding:12px;margin-bottom:12px;transition:box-shadow .2s}.comment-thread:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.comment-thread.resolved{opacity:.6;border-left:4px solid #28a745}.comment-thread.unread{border-left:4px solid #007bff;background:#f0f8ff}.comment-thread.unread.unread-reply{border-left-color:#f59e0b;background:#fff7e6}.comment-thread.unread.resolved{border-left:4px solid #28a745;background:#e8f5e9}.comment-thread.unread.unread-reply .comment-status-lozenge.unread{background:#fff3cd;border-color:#ffecb5;color:#7a4b00}.comment-reply.unread{border-left:3px solid #007bff;background:#f0f8ff;padding-left:12px}.unread-badge{color:#007bff;font-size:8px;margin-right:8px;animation:pulse 2s infinite}.unread-badge-small{color:#007bff;font-size:6px;margin-right:6px;animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.comment-thread.highlight{animation:highlight-flash 2s}@keyframes highlight-flash{0%,100%{background:white}50%{background:#fff3cd}}.comment-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px}.comment-header-toggle{cursor:pointer}.comment-header-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.comment-header-meta{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.comment-author{font-weight:600;color:#007bff;text-transform:capitalize}.comment-author-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.comment-status-lozenge{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:500;line-height:1.2;border:1px solid #d7dde3;background:#f8f9fa;color:#6c757d}.comment-status-lozenge.unread{background:#eef5ff;border-color:#cfe0fb;color:#0b5ed7}.comment-status-lozenge.read{background:#f8f9fa;border-color:#d7dde3;color:#6c757d}.comment-line{background:#e9ecef;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:11px}.comment-anchor-state{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:3px;font-size:11px;font-weight:500;margin-left:6px;white-space:nowrap}.comment-anchor-state i{font-size:10px}.refresh-global-comments-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;transition:all .2s ease}.refresh-global-comments-btn:hover{background:#eef2ff;border-color:#a5b4fc;color:#312e81}.refresh-global-comments-btn.has-updates{animation:globalRefreshPulse 2s ease-in-out infinite}@keyframes globalRefreshPulse{0%,100%{box-shadow:0 0 0 0 rgba(79,70,229,.0)}50%{box-shadow:0 0 0 4px rgba(79,70,229,.15)}}.anchor-state-valid{background:#d1e7dd;color:#0f5132;border:1px solid #badbcc}.anchor-state-moved{background:#fff3cd;color:#664d03;border:1px solid #ffecb5}.anchor-state-detached{background:#f8d7da;color:#842029;border:1px solid #f5c2c7}.anchor-state-ambiguous{background:#cfe2ff;color:#084298;border:1px solid #b6d4fe}.comment-timestamp{color:#6c757d;font-size:11px}.comment-content{padding:8px 0;line-height:1.5;color:#212529;white-space:pre-wrap}#global-comments .comment-thread{border-radius:0}#global-comments .comment-header{font-size:11px}#global-comments .comment-content{font-size:13px;line-height:1.45}.comment-fold-toggle{margin-left:6px;width:24px;height:24px;border:0;background:transparent;color:#6c757d;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.comment-fold-toggle:hover{color:#212529}#global-comments .comment-thread.collapsed .comment-content,#global-comments .comment-thread.collapsed .comment-replies,#global-comments .comment-thread.collapsed .comment-actions{display:none}.comment-resolved-meta{margin-top:0;margin-bottom:0;font-size:11px;color:#28a745;font-weight:500}.comment-replies{margin-top:12px;padding-left:20px;border-left:2px solid #dee2e6}.comment-reply{background:#f8f9fa;border-radius:4px;padding:8px;margin-bottom:8px}.reply-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px}.reply-author{font-weight:600;color:#6c757d;text-transform:capitalize}.reply-timestamp{color:#adb5bd}.reply-content{font-size:13px;color:#495057;line-height:1.4;white-space:pre-wrap}.comment-actions{display:flex;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid #dee2e6}.comment-action-btn{padding:4px 10px;background:transparent;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:12px;color:#495057;transition:all .2s}.comment-action-btn:hover{background:#e9ecef;border-color:#adb5bd}.comment-delete-btn{color:#dc3545}.comment-delete-btn:hover{background:#dc3545;color:white;border-color:#dc3545}.reply-action-btn{padding:2px 6px;font-size:11px;margin-left:4px}.reply-action-btn i{margin-right:0}.comment-action-btn i{margin-right:4px;font-size:11px}.comment-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000}.comment-dialog{background:white;border-radius:12px;width:90%;max-width:550px;box-shadow:0 10px 40px rgba(0,0,0,.3);overflow:hidden}.comment-dialog-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-dialog-header i{font-size:24px;flex-shrink:0}.comment-dialog-title{margin:0;font-size:20px;font-weight:600;color:white;flex:1}.comment-dialog-close{background:rgba(255,255,255,.2);border:none;font-size:28px;color:white;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;line-height:1;flex-shrink:0}.comment-dialog-close:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.comment-dialog-body{padding:28px}.comment-dialog textarea{width:100%;min-height:140px;padding:14px;border:2px solid #e0e0e0;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:15px;line-height:1.5;resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.comment-dialog textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px rgba(102,126,234,.1)}.comment-dialog textarea::placeholder{color:#999}.comment-dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:0 28px 28px 28px}.btn-primary,.btn-secondary{padding:12px 24px;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;box-shadow:0 4px 12px rgba(102,126,234,.3)}.btn-primary:hover{box-shadow:0 6px 16px rgba(102,126,234,.4);transform:translateY(-2px)}.btn-primary i{font-size:14px}.btn-secondary{background:#f3f4f6;color:#4b5563}.btn-secondary:hover{background:#e5e7eb;transform:translateY(-1px)}.inline-comment-form{background:white;border:1px solid #e1e4e8;border-left:3px solid #667eea;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:16px;animation:slideIn .2s ease-out}@keyframes slideIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.inline-comment-form.line-widget-form{margin:8px 0;width:100%}.inline-form-header{background:transparent;color:#6c757d;padding:8px 12px 6px 12px;display:flex;align-items:center;gap:8px;font-weight:500;font-size:12px;border-bottom:1px solid #e9ecef}.inline-form-header i{font-size:12px;color:#667eea}.inline-form-header span{flex:1}.inline-form-close{background:transparent;border:none;color:#adb5bd;cursor:pointer;padding:2px 4px;border-radius:3px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:14px}.inline-form-close:hover{background:#f8f9fa;color:#495057}.inline-form-textarea{width:100%;padding:12px;border:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.5;resize:vertical;box-sizing:border-box;min-height:80px;background:transparent}.inline-form-textarea:focus{outline:none;background:#fafbfc}.inline-form-textarea::placeholder{color:#9ca3af}.inline-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;background:transparent;border-top:1px solid #e9ecef}.inline-form-btn-cancel,.inline-form-btn-save{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.inline-form-btn-cancel{background:transparent;color:#6c757d;border:none}.inline-form-btn-cancel:hover{background:#f8f9fa;color:#495057}.inline-form-btn-save{background:#667eea;color:white;box-shadow:none}.inline-form-btn-save:hover{background:#5568d3;box-shadow:0 1px 3px rgba(102,126,234,.3)}.inline-form-btn-save i{font-size:12px}.inline-reply-form{background:white;border:1px solid #e1e4e8;border-left:3px solid #667eea;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:12px 0;animation:slideIn .2s ease-out}.comment-gutter-marker{color:#ffc107;font-size:8px;line-height:1;position:absolute;left:2px;top:50%;transform:translateY(-50%)}.comment-gutter-marker.resolved{color:#28a745}#global-comments{max-height:400px;overflow-y:auto}#global-comments::-webkit-scrollbar{width:6px}#global-comments::-webkit-scrollbar-track{background:#f1f1f1}#global-comments::-webkit-scrollbar-thumb{background:#888;border-radius:3px}#global-comments::-webkit-scrollbar-thumb:hover{background:#555}.feedback-unread-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%);color:white;border-radius:10px;padding:2px 7px;font-size:11px;font-weight:700;margin-left:6px;min-width:18px;height:18px;animation:badgePulse 2s infinite;box-shadow:0 2px 6px rgba(255,107,107,.4)}@keyframes badgePulse{0%,100%{transform:scale(1);box-shadow:0 2px 6px rgba(255,107,107,.4)}50%{transform:scale(1.1);box-shadow:0 4px 12px rgba(255,107,107,.6)}}.gutter-add-comment-btn.gutter-comment-icon-permanent.unread{background:linear-gradient(135deg,#ff6b6b 0%,#ee5a6f 100%);color:white;animation:gutterPulse 2s infinite;box-shadow:0 2px 8px rgba(255,107,107,.5)}.gutter-add-comment-btn.gutter-comment-icon-permanent.unread:hover{background:linear-gradient(135deg,#ff5252 0%,#e64a5f 100%);transform:translateY(-50%) scale(1.15);box-shadow:0 3px 12px rgba(255,107,107,.7)}.comment-thread.unread{border-left:4px solid #ff6b6b;background:linear-gradient(to right,#fff5f5 0%,#ffffff 100%);box-shadow:0 2px 12px rgba(255,107,107,.15);animation:unreadHighlight 2s ease-in-out}.comment-thread.unread:hover{box-shadow:0 4px 16px rgba(255,107,107,.25)}@keyframes unreadHighlight{0%,100%{background:linear-gradient(to right,#fff5f5 0%,#ffffff 100%)}50%{background:linear-gradient(to right,#ffe5e5 0%,#fff5f5 100%)}}.inline-comment-widget.unread{background:linear-gradient(to right,#fff5f5 0%,#fff3cd 100%);border-left:4px solid #ff6b6b;animation:inlineUnreadPulse 2s ease-in-out}@keyframes inlineUnreadPulse{0%,100%{border-left-color:#ff6b6b;background:linear-gradient(to right,#fff5f5 0%,#fff3cd 100%)}50%{border-left-color:#ff5252;background:linear-gradient(to right,#ffe5e5 0%,#ffeaa7 100%)}}body[class*="theme-"] .CodeMirror-gutter.comment-gutter{background:var(--theme-surface)!important;border-right-color:var(--theme-border)!important}body[class*="theme-"] .gutter-comment-icon{background:var(--theme-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.3)!important;transition:all .2s}body[class*="theme-"] .gutter-comment-icon:hover{background:var(--theme-secondary)!important;transform:scale(1.1)}body[class*="theme-"] .gutter-comment-icon.unread{background:var(--theme-error)!important;animation:gutterPulse 2s infinite;box-shadow:0 2px 8px rgba(0,0,0,.4)!important}body[class*="theme-"] .gutter-comment-icon.unread:hover{background:color-mix(in srgb,var(--theme-error) 80%,white 20%)!important;transform:scale(1.15);box-shadow:0 3px 12px rgba(0,0,0,.5)!important}body[class*="theme-"] .gutter-add-comment-btn{background:var(--theme-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.3)!important}body[class*="theme-"] .gutter-add-comment-btn:hover{background:var(--theme-secondary)!important;transform:translate(-50%,-50%) scale(1.1)}body[class*="theme-"] #feedback-threads-ui{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .refresh-global-comments-btn{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .refresh-global-comments-btn:hover{background:color-mix(in srgb,var(--theme-primary) 16%,var(--theme-surface) 84%)!important;color:var(--theme-text)!important;border-color:color-mix(in srgb,var(--theme-primary) 36%,var(--theme-border) 64%)!important}body[class*="theme-"] .threads-header{border-bottom-color:var(--theme-border)!important}body[class*="theme-"] .threads-header h3{color:var(--theme-text)!important}body[class*="theme-"] .inline-hint{background:var(--theme-surface)!important;color:var(--theme-secondary-text)!important}body[class*="theme-"] .comment-thread{background:var(--theme-bg)!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}body[class*="theme-"] .comment-thread:hover{box-shadow:0 2px 8px rgba(0,0,0,.4)!important}body[class*="theme-"] .comment-thread.unread{border-left-color:var(--theme-primary)!important;background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-bg) 90%)!important}body[class*="theme-"] .comment-thread.unread.unread-reply{border-left-color:var(--theme-warning)!important;background:color-mix(in srgb,var(--theme-warning) 14%,var(--theme-bg) 86%)!important}body[class*="theme-"] .comment-thread.resolved{border-left-color:var(--theme-success)!important;background:var(--theme-bg)!important}body[class*="theme-"] .comment-thread.unread.resolved{border-left-color:var(--theme-success)!important;background:color-mix(in srgb,var(--theme-success) 10%,var(--theme-bg) 90%)!important}body[class*="theme-"] .inline-comment-widget{background:color-mix(in srgb,var(--theme-warning) 20%,var(--theme-bg) 80%)!important;border-left-color:var(--theme-warning)!important}body[class*="theme-"] .inline-comment-widget.resolved{background:color-mix(in srgb,var(--theme-success) 20%,var(--theme-bg) 80%)!important;border-left-color:var(--theme-success)!important}body[class*="theme-"] .comment-content{color:var(--theme-text)!important}body[class*="theme-"] .comment-resolved-meta{color:var(--theme-success)!important}body[class*="theme-"] .comment-author{color:var(--theme-primary)!important}body[class*="theme-"] .comment-line{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .comment-anchor-state{color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .anchor-state-valid{background:color-mix(in srgb,var(--theme-success) 22%,var(--theme-bg) 78%)!important;color:#d9fbe9!important;border-color:color-mix(in srgb,var(--theme-success) 45%,var(--theme-border) 55%)!important}body[class*="theme-"] .anchor-state-moved{background:color-mix(in srgb,var(--theme-warning) 24%,var(--theme-bg) 76%)!important;color:#fff2cc!important;border-color:color-mix(in srgb,var(--theme-warning) 45%,var(--theme-border) 55%)!important}body[class*="theme-"] .anchor-state-detached{background:color-mix(in srgb,#dc3545 24%,var(--theme-bg) 76%)!important;color:#ffe1e4!important;border-color:color-mix(in srgb,#dc3545 46%,var(--theme-border) 54%)!important}body[class*="theme-"] .anchor-state-ambiguous{background:color-mix(in srgb,var(--theme-primary) 22%,var(--theme-bg) 78%)!important;color:#dce9ff!important;border-color:color-mix(in srgb,var(--theme-primary) 45%,var(--theme-border) 55%)!important}body[class*="theme-"] .comment-timestamp{color:var(--theme-secondary-text)!important}body[class*="theme-"] .comment-replies{border-left-color:var(--theme-border)!important}body[class*="theme-"] .comment-reply{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .comment-reply.unread{border-left-color:var(--theme-primary)!important;background:color-mix(in srgb,var(--theme-primary) 10%,var(--theme-surface) 90%)!important}body[class*="theme-"] .reply-author{color:var(--theme-secondary-text)!important}body[class*="theme-"] .reply-timestamp{color:var(--theme-muted-text)!important}body[class*="theme-"] .reply-content{color:var(--theme-text)!important}body[class*="theme-"] .comment-actions{border-top-color:var(--theme-border)!important}body[class*="theme-"] .comment-action-btn{background:transparent!important;border-color:var(--theme-border)!important;color:var(--theme-text)!important}body[class*="theme-"] .comment-action-btn:hover{background:var(--theme-surface)!important;border-color:var(--theme-primary)!important}body[class*="theme-"] .comment-delete-btn{color:var(--theme-error)!important}body[class*="theme-"] .comment-delete-btn:hover{background:var(--theme-error)!important;color:var(--theme-bg)!important;border-color:var(--theme-error)!important}body[class*="theme-"] .comment-dialog{background:var(--theme-bg)!important;color:var(--theme-text)!important}body[class*="theme-"] .comment-dialog-header{background:var(--theme-primary)!important}body[class*="theme-"] .comment-dialog-body{background:var(--theme-bg)!important}body[class*="theme-"] .comment-dialog textarea{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}body[class*="theme-"] .comment-dialog textarea:focus{border-color:var(--theme-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary) 20%,transparent)!important}body[class*="theme-"] .btn-primary{background:var(--theme-primary)!important}body[class*="theme-"] .btn-primary:hover{background:var(--theme-secondary)!important}body[class*="theme-"] .btn-secondary{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .btn-secondary:hover{background:var(--theme-border)!important}body[class*="theme-"] .inline-comment-form{background:var(--theme-bg)!important;border-color:var(--theme-border)!important;border-left-color:var(--theme-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.2)!important}body[class*="theme-"] .inline-form-header{background:transparent!important;color:var(--theme-secondary-text)!important;border-bottom-color:var(--theme-border)!important}body[class*="theme-"] .inline-form-header i{color:var(--theme-primary)!important}body[class*="theme-"] .inline-form-close{color:var(--theme-muted-text)!important}body[class*="theme-"] .inline-form-close:hover{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .inline-form-textarea{background:transparent!important;color:var(--theme-text)!important}body[class*="theme-"] .inline-form-textarea:focus{background:var(--theme-surface)!important}body[class*="theme-"] .inline-form-textarea::placeholder{color:var(--theme-muted-text)!important}body[class*="theme-"] .inline-form-actions{background:transparent!important;border-top-color:var(--theme-border)!important}body[class*="theme-"] .inline-form-btn-cancel{background:transparent!important;color:var(--theme-secondary-text)!important}body[class*="theme-"] .inline-form-btn-cancel:hover{background:var(--theme-surface)!important;color:var(--theme-text)!important}body[class*="theme-"] .inline-form-btn-save{background:var(--theme-primary)!important}body[class*="theme-"] .inline-form-btn-save:hover{background:var(--theme-secondary)!important}body[class*="theme-"] .inline-reply-form{background:var(--theme-bg)!important;border-color:var(--theme-border)!important;border-left-color:var(--theme-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.2)!important}body[class*="theme-"] .unread-badge,body[class*="theme-"] .unread-badge-small{color:var(--theme-primary)!important}body[class*="theme-"] .no-comments{color:var(--theme-secondary-text)!important}.CodeMirror-lint-markers{width:16px;}.CodeMirror-lint-tooltip{background-color:#ffebcc;border:2px solid #ffcc00;border-radius:8px;color:#333;font-family:'Rubik',sans-serif;font-size:12pt;overflow:hidden;padding:10px 15px;position:fixed;white-space:pre-wrap;z-index:100;max-width:600px;opacity:0;transition:opacity .4s;-moz-transition:opacity .4s;-webkit-transition:opacity .4s;-o-transition:opacity .4s;-ms-transition:opacity .4s;box-shadow:0 4px 8px rgba(0,0,0,.1)}.CodeMirror-lint-tooltip .CodeMirror-lint-message{display:flex;align-items:center;}.CodeMirror-lint-tooltip .CodeMirror-lint-message-icon{margin-right:10px;}.CodeMirror-lint-mark{background-position:left bottom;background-repeat:repeat-x;}.CodeMirror-lint-mark-warning{background-image:url('exclamation.png');background-size:contain;background-repeat:no-repeat;}.CodeMirror-lint-marker{background-position:center center;background-repeat:no-repeat;cursor:pointer;display:inline-block;height:16px;width:16px;vertical-align:middle;position:relative;margin-left:5px;}.CodeMirror-lint-message{background-position:top left;background-repeat:no-repeat;}.CodeMirror-lint-marker-warning,.CodeMirror-lint-message-warning{background-image:url('exclamation.png');background-size:contain;background-repeat:no-repeat;}.CodeMirror-lint-marker-error{background-image:url('exclamation.png');background-size:contain;background-repeat:no-repeat;}.CodeMirror-lint-message-error:before{display:inline-block;content:"";width:16px;height:16px;background-image:url('exclamation.png');background-size:contain;background-repeat:no-repeat;margin-right:10px;}.CodeMirror-lint-marker-multiple{background-image:url('exclamation.png');background-size:contain;background-repeat:no-repeat;}.CodeMirror-lint-line-error{background-color:rgba(183,76,81,.08);}.CodeMirror-lint-line-warning{background-color:rgba(255,211,0,.1);}.indent-error-line{background-color:rgba(220,50,50,.15)!important;border-left:3px solid rgba(220,50,50,.4)!important;}.lint-line-highlight{background-color:rgba(255,200,50,.25)!important;}.indent-dotted-text{border-bottom:2px dotted #cc0000!important;}.error-summary-panel{background:var(--theme-secondary-bg,#fff3f3);border:1px solid var(--theme-border,#e8b4b4);margin:0 0 8px 0;font-family:'Rubik',sans-serif;font-size:11pt;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06);}.error-summary-header{background:var(--theme-secondary-bg,#fde8e8);padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none;font-weight:600;color:var(--theme-error,#cc0000);font-size:10.5pt;}.error-summary-header:hover{background:var(--theme-surface,#fcdfdf);}.error-summary-header .arrow{transition:transform .2s;font-size:9pt;opacity:.5;}.error-summary-header .arrow.open{transform:rotate(90deg);opacity:.8;}.error-summary-body{max-height:320px;overflow-y:auto;}.error-summary-item{padding:8px 14px;border-bottom:1px solid var(--theme-border,#f0d0d0);display:flex;align-items:flex-start;gap:10px;font-size:10pt;border-left:3px solid transparent;transition:background .15s;}.error-summary-item.error{border-left-color:var(--theme-error,#ef4444);}.error-summary-item.warning{border-left-color:var(--theme-warning,#f59e0b);}.error-summary-item.info{border-left-color:var(--theme-primary,#3b82f6);}.error-summary-item:hover{background:rgba(0,0,0,.02);}.error-summary-item:last-child{border-bottom:none;}.error-summary-item .badge{display:inline-block;text-transform:uppercase;padding:1px 6px;border-radius:3px;font-size:9pt;font-weight:600;white-space:nowrap;width:52px;text-align:center;letter-spacing:.3px;flex-shrink:0;margin-top:1px;}.badge-error{background:var(--theme-error,#ef4444);color:#fff;}.badge-warning{background:var(--theme-warning,#f59e0b);color:#fff;}.badge-info{background:var(--theme-primary,#3b82f6);color:#fff;}.error-summary-item .msg{flex:1;color:var(--theme-text,#333);line-height:1.4;font-weight:500;}.error-summary-item .msg-separator{height:1px;margin:5px 0 4px 0;background:var(--theme-border,#eee);}.error-summary-item .line-num{color:var(--theme-muted-text,#999);font-size:8.5pt;white-space:nowrap;flex-shrink:0;text-align:right;margin-top:1px;padding:2px 6px;background:var(--theme-surface,rgba(0,0,0,.03));border-radius:4px;}.error-summary-item .suggestion{font-size:9pt;color:var(--theme-secondary-text,#666);margin-top:3px;padding-left:14px;position:relative;line-height:1.35;}.error-summary-item .suggestion::before{content:"→";position:absolute;left:0;color:var(--theme-muted-text,#aaa);font-weight:bold;}.error-summary-empty{padding:16px;text-align:center;color:var(--theme-muted-text,#999);font-size:9.5pt;font-style:italic;}.error-summary-file-heading{padding:6px 14px 2px 14px;font-size:9pt;font-weight:700;color:var(--theme-muted-text,#888);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--theme-border,#eee);margin-top:4px;}.error-summary-file-heading:first-child{margin-top:0;}.pylint-detail-panel{background:var(--theme-secondary-bg,#fff);border:1px solid var(--theme-border,#ddd);border-radius:8px;font-family:'Rubik',sans-serif;box-shadow:0 4px 20px rgba(0,0,0,.15);}.pylint-detail-panel-header{background:var(--theme-surface,#f5f5f5);border-bottom:1px solid var(--theme-border,#eee);padding:10px 15px;}.pylint-detail-panel-header h3{margin:0;font-size:12pt;color:var(--theme-text,#333);}.pylint-detail-panel .pylint-detail-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--theme-muted-text,#999);}.pylint-detail-panel .pylint-detail-close:hover{color:var(--theme-text,#333);}.pylint-detail-panel-code{background:var(--theme-bg,#fafafa);padding:8px 15px;font-family:monospace;font-size:10pt;border-bottom:1px solid var(--theme-border,#eee);color:var(--theme-text,#333);}.pylint-detail-panel-item{padding:10px 15px;border-bottom:1px solid var(--theme-border,#f0f0f0);color:var(--theme-text,#333);}.pylint-detail-panel-item:last-child{border-bottom:none;}.pylint-detail-panel-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:9pt;font-weight:600;margin-right:8px;}.pylint-detail-panel .pylint-severity-error .pylint-detail-panel-badge{background:var(--theme-error,#ef4444);color:#fff;}.pylint-detail-panel .pylint-severity-warning .pylint-detail-panel-badge{background:var(--theme-warning,#f59e0b);color:#fff;}.pylint-detail-panel .pylint-severity-info .pylint-detail-panel-badge{background:var(--theme-primary,#3b82f6);color:#fff;}.pylint-detail-panel-suggestion{font-size:9pt;color:var(--theme-secondary-text,#666);margin-top:4px;padding:6px 10px;background:var(--theme-bg,#f9f9f9);border-left:3px solid var(--theme-primary,#3b82f6);}.pylint-detail-panel-footer{background:var(--theme-surface,#fafafa);border-top:1px solid var(--theme-border,#eee);padding:8px 15px;font-size:9pt;color:var(--theme-muted-text,#888);}.pylint-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);z-index:999;}