@import"https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=IBM+Plex+Mono:wght@500;600&display=swap";::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:10px}::-webkit-scrollbar-thumb{background:#9ca3af80;border-radius:10px;border:2px solid transparent;background-clip:content-box;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#9ca3afcc;border:2px solid transparent;background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:rgba(156,163,175,.5) transparent}html{scroll-behavior:smooth}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\[17px\]{inset:17px}.inset-\[8px\]{inset:8px}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-8{top:2rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[9999\]{z-index:9999}.m-1{margin:.25rem}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[3px\]{height:3px}.h-\[4px\]{height:4px}.h-\[calc\(100vh-64px\)\]{height:calc(100vh - 64px)}.h-full{height:100%}.max-h-96{max-height:24rem}.min-h-\[350px\]{min-height:350px}.min-h-\[400px\]{min-height:400px}.min-h-\[500px\]{min-height:500px}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/5{width:40%}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/5{width:60%}.w-4{width:1rem}.w-4\/5{width:80%}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-r-sm{border-top-right-radius:.125rem;border-bottom-right-radius:.125rem}.border{border-width:1px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-amber-900\/40{border-color:#78350f66}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/40{border-color:#3b82f666}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-500\/30{border-color:#22c55e4d}.border-green-500\/40{border-color:#22c55e66}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-orange-500\/20{border-color:#f9731633}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/50{border-color:#a855f780}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-500\/40{border-color:#ef444466}.border-teal-500{--tw-border-opacity: 1;border-color:rgb(20 184 166 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-yellow-500\/30{border-color:#eab3084d}.border-yellow-500\/40{border-color:#eab30866}.bg-\[\#161616\]{--tw-bg-opacity: 1;background-color:rgb(22 22 22 / var(--tw-bg-opacity, 1))}.bg-\[\#171717\]{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-\[\#1e1e1e\]{--tw-bg-opacity: 1;background-color:rgb(30 30 30 / var(--tw-bg-opacity, 1))}.bg-\[\#252525\]{--tw-bg-opacity: 1;background-color:rgb(37 37 37 / var(--tw-bg-opacity, 1))}.bg-amber-900\/20{background-color:#78350f33}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600\/15{background-color:#2563eb26}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-700\/40{background-color:#37415166}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/50{background-color:#11182780}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600\/20{background-color:#16a34a33}.bg-green-900\/20{background-color:#14532d33}.bg-green-900\/50{background-color:#14532d80}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-purple-600\/20{background-color:#9333ea33}.bg-purple-900\/50{background-color:#581c8780}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/20{background-color:#ef444433}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/50{background-color:#7f1d1d80}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(20 184 166 / var(--tw-bg-opacity, 1))}.bg-teal-500\/20{background-color:#14b8a633}.bg-transparent{background-color:transparent}.bg-white\/5{background-color:#ffffff0d}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-900\/20{background-color:#713f1233}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-amber-400{--tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from: #60a5fa var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #2563eb var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from: #1f2937 var(--tw-gradient-from-position);--tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-600{--tw-gradient-from: #dc2626 var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500{--tw-gradient-from: #f43f5e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from: #7c3aed var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #000 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black{--tw-gradient-to: #000 var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #2563eb var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to: #06b6d4 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to: #111827 var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to: #4f46e5 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.to-purple-500{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to: #0d9488 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-16{padding-left:4rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[0\.62rem\]{font-size:.62rem}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.28em\]{letter-spacing:.28em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-orange-200{--tw-text-opacity: 1;color:rgb(254 215 170 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-purple-200{--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.text-teal-500{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-60{opacity:.6}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-purple-500\/50{--tw-shadow-color: rgb(168 85 247 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/20{--tw-shadow-color: rgb(20 184 166 / .2);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[start\:end\]{start:end}:root{--primary-orange: #F97316;--primary-teal: #14B8A6;--accent-yellow: #FBBF24;--accent-red: #F43F5E;--bg-light: #FFF7ED;--bg-dark: #18181B;--bg-card-light: #FFFFFF;--bg-card-dark: #27272A;--glow-orange: #FB923C;--glow-teal: #2DD4BF;--bar-unsorted: #94A3B8;--bar-compare-1: #06B6D4;--bar-compare-2: #EC4899;--bar-swapping: #A855F7;--bar-sorted: #22C55E;--bar-pivot: #FBBF24;--node-unvisited: #E5E7EB;--node-visiting: #FBBF24;--node-visited: #34D399;--node-path: #60A5FA;--edge-default: #D1D5DB;--edge-active: #F97316;--edge-path: #3B82F6;--node-default: #FFFFFF;--node-border: #6366F1;--node-current: #FBBF24;--node-left: #10B981;--node-right: #3B82F6;--node-null: #F3F4F6;--control-bg-light: #FFFFFF;--control-bg-dark: #1E293B;--control-border: #E2E8F0;--control-hover: #F8FAFC;--control-active: #2563EB;--slider-track: #E5E7EB;--slider-fill: linear-gradient(90deg, #10B981, #3B82F6);--slider-thumb: #FFFFFF;--slider-thumb-shadow: 0 2px 8px rgba(37, 99, 235, .4);--complexity-constant: #10B981;--complexity-log: #3B82F6;--complexity-linear: #FBBF24;--complexity-nlogn: #F97316;--complexity-quadratic: #EF4444;--complexity-exponential: #DC2626;--difficulty-easy: #10B981;--difficulty-medium: #F59E0B;--difficulty-hard: #EF4444;--emphasis-high: #2563EB;--emphasis-medium: #64748B;--emphasis-low: #CBD5E1;--primary: var(--primary-orange);--secondary: var(--primary-teal);--accent: var(--accent-yellow);--bg-primary: var(--bg-dark);--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #64748B;--loader-overlay-bg: #020617;--loader-overlay-glow: radial-gradient(circle at 20% 25%, rgba(56, 189, 248, .2), transparent 34%), radial-gradient(circle at 78% 72%, rgba(217, 70, 239, .16), transparent 32%);--loader-ring-outer: rgba(103, 232, 249, .35);--loader-ring-outer-accent: rgba(165, 243, 252, 1);--loader-ring-inner: rgba(232, 121, 249, .35);--loader-ring-inner-accent: rgba(245, 208, 254, 1);--loader-ring-ambient: rgba(45, 212, 191, .22);--loader-ring-ambient-accent: rgba(110, 231, 183, .9);--loader-logo-color: #f8fafc;--loader-message-color: #94a3b8;--loader-accent-color: rgba(148, 163, 184, .9);--loader-panel-bg: rgba(2, 6, 23, .58);--loader-panel-border: rgba(148, 163, 184, .16);--loader-panel-shadow: 0 28px 70px rgba(2, 6, 23, .55);--loader-grid-color: rgba(148, 163, 184, .07);--loader-vignette: radial-gradient(circle at center, transparent 0%, rgba(2, 6, 23, .45) 72%, rgba(2, 6, 23, .72) 100%);--loader-progress-track: rgba(148, 163, 184, .18);--loader-progress-gradient: linear-gradient(90deg, #67e8f9 0%, #3b82f6 50%, #d946ef 100%);--loader-progress-glow: 0 0 20px rgba(56, 189, 248, .55);--top-progress-track: rgba(2, 6, 23, .35);--top-progress-gradient: linear-gradient(90deg, #67e8f9 0%, #3b82f6 50%, #d946ef 100%);--top-progress-shadow: 0 0 14px rgba(56, 189, 248, .45);--top-progress-tip: rgba(125, 211, 252, .95);--skeleton-card-bg: rgba(255, 255, 255, .03);--skeleton-card-border: rgba(255, 255, 255, .1);--skeleton-base: rgba(148, 163, 184, .16);--skeleton-shimmer-bg: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);--report-modal-overlay-bg: rgba(2, 6, 23, .78);--report-modal-bg: rgba(17, 24, 39, .95);--report-modal-border: rgba(255, 255, 255, .1);--report-modal-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5);--report-modal-title: #f3f4f6;--report-modal-text: #d1d5db;--report-modal-muted: #9ca3af;--report-modal-flag-bg: rgba(239, 68, 68, .1);--report-modal-row-bg: rgba(255, 255, 255, .03);--report-modal-row-hover-bg: rgba(255, 255, 255, .06);--report-modal-input-bg: rgba(0, 0, 0, .2);--report-modal-close-hover-bg: rgba(255, 255, 255, .1);--report-modal-disabled-bg: rgba(255, 255, 255, .05);--admin-reports-page-bg: #111827;--admin-reports-title: #f3f4f6;--admin-reports-text: #e5e7eb;--admin-reports-muted: #9ca3af;--admin-reports-border: rgba(255, 255, 255, .08);--admin-reports-divider: rgba(255, 255, 255, .1);--admin-reports-filter-bg: #1f2937;--admin-reports-filter-border: #374151;--admin-reports-select-bg: transparent;--admin-reports-select-text: #e5e7eb;--admin-reports-select-option-bg: #1f2937;--admin-reports-select-option-text: #e5e7eb;--admin-reports-note-bg: rgba(17, 24, 39, .75);--admin-reports-subtle-bg: #111827;--admin-reports-header-bg: rgba(0, 0, 0, .1);--admin-reports-review-bg: rgba(56, 189, 248, .1);--admin-reports-review-text: #38bdf8;--admin-reports-review-border: rgba(56, 189, 248, .2);--admin-reports-pagination-bg: #374151;--admin-reports-pagination-text: #ffffff;--admin-reports-overlay-bg: rgba(0, 0, 0, .8);--admin-reports-footer-bg: rgba(0, 0, 0, .2);--admin-reports-secondary-btn-bg: #374151;--admin-reports-secondary-btn-text: #d1d5db;--nav-height: 70px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--viz-surface: #1e1e1e;--viz-surface-soft: #222222;--viz-border: rgba(255, 255, 255, .1);--viz-text-primary: #f5f5f5;--viz-text-secondary: #cfcfcf;--viz-text-muted: #b8b8b8;--viz-accent: #2563eb;--viz-accent-hover: #3b82f6;--viz-shadow: 0 4px 12px rgba(0, 0, 0, .25);--surface-bg: rgba(15, 23, 42, .85);--surface-bg-raised: rgba(20, 30, 55, .75);--surface-border: rgba(148, 163, 184, .22);--surface-shadow: 0 12px 30px rgba(2, 6, 23, .3);--algo-grid-bg: rgba(2, 6, 23, .6);--algo-grid-border: rgba(148, 163, 184, .26);--algo-cell-empty: rgba(148, 163, 184, .14);--algo-cell-wall: #0b1020;--algo-btn-bg: rgba(15, 23, 42, .7);--algo-btn-border: rgba(148, 163, 184, .3);--algo-btn-text: #f8fafc;--algo-btn-hover-filter: brightness(1.15);--algo-input-bg: rgba(15, 23, 42, .7);--algo-input-border: rgba(148, 163, 184, .35);--algo-input-text: #f8fafc;--algo-panel-formula-bg: rgba(15, 23, 42, .7);--algo-trace-step-bg: rgba(15, 23, 42, .6);--algo-trace-step-border: #38bdf8;--algo-tab-active-color: #38bdf8;--algo-tab-active-bg: rgba(56, 189, 248, .12);--algo-tab-inactive-color: #94a3b8;--algo-status-text: #cbd5e1;--algo-error-text: #f87171}[data-theme=light]{--bg-dark: #f8fafc;--bg-card-dark: #ffffff;--text-primary: #0f172a;--surface-bg: rgba(255, 255, 255, .92);--surface-bg-raised: rgba(248, 250, 252, .95);--surface-border: rgba(15, 23, 42, .12);--surface-shadow: 0 8px 24px rgba(15, 23, 42, .1);--algo-grid-bg: rgba(240, 244, 252, .7);--algo-grid-border: rgba(15, 23, 42, .18);--algo-cell-empty: rgba(15, 23, 42, .08);--algo-cell-wall: #1e293b;--algo-btn-bg: rgba(248, 250, 252, .9);--algo-btn-border: rgba(15, 23, 42, .18);--algo-btn-text: #0f172a;--algo-btn-hover-filter: brightness(.94);--algo-input-bg: #ffffff;--algo-input-border: rgba(15, 23, 42, .2);--algo-input-text: #0f172a;--algo-panel-formula-bg: rgba(248, 250, 252, .9);--algo-trace-step-bg: rgba(240, 245, 255, .8);--algo-trace-step-border: #2563eb;--algo-tab-active-color: #2563eb;--algo-tab-active-bg: rgba(37, 99, 235, .1);--algo-tab-inactive-color: #64748b;--algo-status-text: #334155;--algo-error-text: #dc2626;--text-secondary: #475569;--text-muted: #94a3b8;--loader-overlay-bg: #f1f5f9;--loader-overlay-glow: radial-gradient(circle at 20% 25%, rgba(14, 165, 233, .18), transparent 36%), radial-gradient(circle at 78% 72%, rgba(249, 115, 22, .14), transparent 34%);--loader-ring-outer: rgba(14, 165, 233, .35);--loader-ring-outer-accent: rgba(2, 132, 199, .95);--loader-ring-inner: rgba(249, 115, 22, .35);--loader-ring-inner-accent: rgba(249, 115, 22, .95);--loader-ring-ambient: rgba(14, 165, 233, .24);--loader-ring-ambient-accent: rgba(14, 165, 233, .9);--loader-logo-color: #0f172a;--loader-message-color: #475569;--loader-accent-color: rgba(30, 41, 59, .7);--loader-panel-bg: rgba(255, 255, 255, .74);--loader-panel-border: rgba(15, 23, 42, .12);--loader-panel-shadow: 0 24px 60px rgba(15, 23, 42, .18);--loader-grid-color: rgba(15, 23, 42, .05);--loader-vignette: radial-gradient(circle at center, transparent 0%, rgba(248, 250, 252, .35) 70%, rgba(226, 232, 240, .72) 100%);--loader-progress-track: rgba(148, 163, 184, .28);--loader-progress-gradient: linear-gradient(90deg, #0ea5e9 0%, #2563eb 50%, #f97316 100%);--loader-progress-glow: 0 0 16px rgba(37, 99, 235, .3);--top-progress-track: rgba(148, 163, 184, .22);--top-progress-gradient: linear-gradient(90deg, #0ea5e9 0%, #2563eb 48%, #f97316 100%);--top-progress-shadow: 0 0 12px rgba(37, 99, 235, .25);--top-progress-tip: rgba(37, 99, 235, .85);--skeleton-card-bg: #ffffff;--skeleton-card-border: rgba(15, 23, 42, .08);--skeleton-base: rgba(148, 163, 184, .2);--skeleton-shimmer-bg: linear-gradient(90deg, transparent, rgba(255, 255, 255, .9), transparent);--report-modal-overlay-bg: rgba(15, 23, 42, .45);--report-modal-bg: rgba(255, 255, 255, .98);--report-modal-border: rgba(15, 23, 42, .12);--report-modal-shadow: 0 22px 44px -18px rgba(15, 23, 42, .3);--report-modal-title: #0f172a;--report-modal-text: #1e293b;--report-modal-muted: #64748b;--report-modal-flag-bg: rgba(239, 68, 68, .14);--report-modal-row-bg: rgba(15, 23, 42, .03);--report-modal-row-hover-bg: rgba(15, 23, 42, .06);--report-modal-input-bg: rgba(15, 23, 42, .03);--report-modal-close-hover-bg: rgba(15, 23, 42, .08);--report-modal-disabled-bg: rgba(15, 23, 42, .06);--admin-reports-page-bg: #f8fafc;--admin-reports-title: #0f172a;--admin-reports-text: #1e293b;--admin-reports-muted: #64748b;--admin-reports-border: rgba(15, 23, 42, .1);--admin-reports-divider: rgba(15, 23, 42, .14);--admin-reports-filter-bg: #ffffff;--admin-reports-filter-border: rgba(15, 23, 42, .14);--admin-reports-select-bg: #ffffff;--admin-reports-select-text: #0f172a;--admin-reports-select-option-bg: #ffffff;--admin-reports-select-option-text: #0f172a;--admin-reports-note-bg: #ffffff;--admin-reports-subtle-bg: #f8fafc;--admin-reports-header-bg: rgba(15, 23, 42, .03);--admin-reports-review-bg: rgba(59, 130, 246, .12);--admin-reports-review-text: #2563eb;--admin-reports-review-border: rgba(59, 130, 246, .3);--admin-reports-pagination-bg: #e2e8f0;--admin-reports-pagination-text: #0f172a;--admin-reports-overlay-bg: rgba(15, 23, 42, .52);--admin-reports-footer-bg: rgba(15, 23, 42, .02);--admin-reports-secondary-btn-bg: #e2e8f0;--admin-reports-secondary-btn-text: #1e293b}[data-theme=light] body{background-color:#f8fafc;color:#0f172a;background-image:radial-gradient(circle at 15% 50%,rgba(249,115,22,.05),transparent 25%),radial-gradient(circle at 85% 30%,rgba(20,184,166,.05),transparent 25%)}[data-theme=light] .navbar{background:#f8fafcd9;border-bottom-color:#0000000f!important}[data-theme=light] .navbar-scrolled{background:#f8fafcf7;box-shadow:0 4px 20px #00000014}[data-theme=light] .nav-link{color:#475569!important}[data-theme=light] .nav-link:hover,[data-theme=light] .nav-link.active{color:#0f172a!important}[data-theme=light] .search-input{background:#0000000a;border-color:#00000014;color:#0f172a!important}[data-theme=light] .admin-nav-btn{background:#0000000a;color:#475569;border-color:#0000000f!important}[data-theme=light] .profile-drawer{background:#fff;border-color:#00000014;box-shadow:0 16px 48px #0000001f}[data-theme=light] .glass-panel{background:#ffffffb3;border-color:#0000000f;box-shadow:0 4px 16px #0000000f}[data-theme=light] .loading-screen{background:#f1f5f9}[data-theme=light] .ls-message{color:#00000059!important}[data-theme=light] ::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(circle at 15% 50%,rgba(249,115,22,.08),transparent 25%),radial-gradient(circle at 85% 30%,rgba(20,184,166,.08),transparent 25%);min-height:100vh;overflow-x:hidden;line-height:1.6}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-card-dark);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{text-decoration:none;color:inherit;transition:all .2s ease}button{cursor:pointer;border:none;font-family:inherit}select,option{background:#1e1e1e;color:#f5f5f5}.glass-panel{background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 32px #0000004d}.visualizer-ui{--viz-panel-bg: #1a1a1a;--viz-card-bg: #222222;--viz-input-bg: #1e1e1e;--viz-input-text: #f5f5f5;--viz-input-border: rgba(255, 255, 255, .12);--text-primary: var(--viz-text-primary);--text-secondary: var(--viz-text-secondary);--text-muted: var(--viz-text-muted);color:var(--viz-text-primary)}[data-theme=light] .visualizer-ui{--viz-panel-bg: #ffffff;--viz-card-bg: #f3f4f6;--viz-input-bg: #ffffff;--viz-input-text: #0f172a;--viz-input-border: rgba(15, 23, 42, .16);--viz-text-primary: #0f172a;--viz-text-secondary: #334155;--viz-text-muted: #475569}.visualizer-ui .glass-panel{background:var(--viz-panel-bg);border:1px solid var(--viz-border);box-shadow:0 8px 24px #00000052;backdrop-filter:none;-webkit-backdrop-filter:none}.visualizer-ui input,.visualizer-ui select,.visualizer-ui textarea{background:var(--viz-input-bg)!important;border:1px solid var(--viz-input-border)!important;color:var(--viz-input-text)!important;border-radius:14px;min-height:44px;padding:12px 14px;font-size:.95rem;font-weight:500;box-shadow:inset 0 1px #ffffff08,0 2px 8px #0003}.visualizer-ui input::-moz-placeholder,.visualizer-ui textarea::-moz-placeholder{color:var(--viz-text-muted)}.visualizer-ui input::placeholder,.visualizer-ui textarea::placeholder{color:var(--viz-text-muted)}.visualizer-ui input:focus-visible,.visualizer-ui select:focus-visible,.visualizer-ui textarea:focus-visible{outline:2px solid rgba(96,165,250,.85);outline-offset:1px;border-color:#60a5fabf}.visualizer-ui select option{background:var(--viz-input-bg);color:var(--viz-input-text);padding:10px 12px}.control-btn,.visualizer-ui .control-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 20px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#1e1e1e;color:#eaeaea!important;font-size:.92rem;font-weight:600;letter-spacing:.01em;line-height:1;box-shadow:var(--viz-shadow);transition:transform .2s ease-in-out,filter .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}.control-btn:hover:not(:disabled),.visualizer-ui .control-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06);border-color:#fff3}.control-btn:active:not(:disabled),.visualizer-ui .control-btn:active:not(:disabled){transform:scale(.97)}.control-btn:focus-visible,.visualizer-ui .control-btn:focus-visible{outline:2px solid rgba(96,165,250,.95);outline-offset:2px}.control-btn:disabled,.visualizer-ui .control-btn:disabled{opacity:.48;cursor:not-allowed;transform:none;filter:none;box-shadow:none}.play-btn,.visualizer-ui .play-btn{background:var(--viz-accent);border-color:var(--viz-accent);color:#fff!important;font-weight:700}.play-btn:hover:not(:disabled),.visualizer-ui .play-btn:hover:not(:disabled){background:var(--viz-accent-hover);border-color:var(--viz-accent-hover);filter:brightness(1.05)}.icon-btn,.visualizer-ui .icon-btn{width:44px;min-width:44px;padding:0}@media(max-width:768px){.control-btn{min-height:42px;height:42px;padding:0 14px;font-size:.88rem}}.gradient-text{background:linear-gradient(135deg,var(--primary-orange) 0%,var(--primary-teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-container{display:flex;flex-direction:column;min-height:100vh}.array-bar-container{display:flex;align-items:flex-end;justify-content:center;height:450px;gap:6px;padding:40px;background:#1e293b80;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 20px #0000004d;width:100%}.element-active{box-shadow:0 0 20px #fbbf2499,0 0 40px #fbbf244d;animation:pulse 1.5s infinite}.element-complete{box-shadow:0 0 20px #f9731699,0 0 40px #f973164d}.element-error{box-shadow:0 0 20px #ef444499,0 0 40px #ef44444d}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] h4,[data-theme=light] h5{color:#0f172a!important}[data-theme=light] p,[data-theme=light] span,[data-theme=light] label,[data-theme=light] li{color:#1e293b!important}[data-theme=light] .dashboard-container,[data-theme=light] .coding-platform,[data-theme=light] .welcome-title,[data-theme=light] .welcome-subtitle{color:#0f172a!important}[data-theme=light] .stat-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a}[data-theme=light] .stat-card h3,[data-theme=light] .stat-card .stat-value{color:#0f172a!important}[data-theme=light] .stat-card p,[data-theme=light] .stat-card .stat-label{color:#475569!important}[data-theme=light] .daily-challenge{background:#fff!important;border:1px solid rgba(0,0,0,.08)}[data-theme=light] .daily-challenge h2,[data-theme=light] .daily-challenge h3,[data-theme=light] .daily-challenge .challenge-title{color:#0f172a!important}[data-theme=light] .daily-challenge p,[data-theme=light] .daily-challenge span{color:#475569!important}[data-theme=light] .problem-card,[data-theme=light] .problem-item{background:#fff;border:1px solid rgba(0,0,0,.06)}[data-theme=light] .problem-card:hover{box-shadow:0 8px 24px #00000014}[data-theme=light] .problem-title,[data-theme=light] .problem-name{color:#0f172a!important}[data-theme=light] .problem-desc{color:#475569!important}[data-theme=light] .card,[data-theme=light] [class*=card],[data-theme=light] .card-title{color:#0f172a!important}[data-theme=light] .card-description,[data-theme=light] .card-subtitle{color:#475569!important}[data-theme=light] .contest-card{background:#fff;border:1px solid rgba(0,0,0,.06)}[data-theme=light] .contest-card h3,[data-theme=light] .contest-title{color:#0f172a!important}[data-theme=light] .contest-card p{color:#475569!important}[data-theme=light] .algorithm-card,[data-theme=light] .algo-card{background:#fff;border:1px solid rgba(0,0,0,.06)}[data-theme=light] .algorithm-card h3,[data-theme=light] .algo-card h3{color:#0f172a!important}[data-theme=light] .algorithm-card p{color:#475569!important}[data-theme=light] .admin-container,[data-theme=light] .super-admin-container,[data-theme=light] .admin-panel,[data-theme=light] .super-admin-panel{background-color:#f8fafc!important;color:#0f172a!important}html[data-theme=light] .admin-sidebar,html[data-theme=light] .superadmin-sidebar,html[data-theme=light] .sidebar-container{background:#fff!important;border-right:1px solid #e2e8f0!important;color:#1e293b!important}html[data-theme=light] .admin-card,html[data-theme=light] .superadmin-card,html[data-theme=light] .dashboard-card,html[data-theme=light] .stat-card{background:#fff!important;border:1px solid #e1e7ef!important;color:#1e293b!important;box-shadow:0 4px 6px -1px #0000000d!important}html[data-theme=light] .admin-table,html[data-theme=light] .data-table{background:#fff!important;color:#1e293b!important}html[data-theme=light] .admin-table th,html[data-theme=light] .data-table th{background:#f1f5f9!important;color:#475569!important}html[data-theme=light] .admin-table-row:hover,html[data-theme=light] .data-table tr:hover{background:#f8fafc!important}html[data-theme=light] .modal-content,html[data-theme=light] .dialog-panel{background:#fff!important;color:#1e293b!important}[data-theme=light] .admin-sidebar,[data-theme=light] .super-admin-sidebar{background:#fff!important;border-right:1px solid rgba(0,0,0,.08)!important}[data-theme=light] .admin-content,[data-theme=light] .super-admin-content{background:#f8fafc!important}[data-theme=light] .table-container,[data-theme=light] table{background:#fff!important;color:#0f172a!important}[data-theme=light] th{background:#f1f5f9!important;color:#0f172a!important;border-bottom:2px solid #e2e8f0!important}[data-theme=light] td{border-bottom:1px solid #e2e8f0!important;color:#1e293b!important}[data-theme=light] .admin-card,[data-theme=light] .super-admin-card{background:#fff!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 12px #0000000a!important}[data-theme=light] .leaderboard-container{color:#0f172a!important}[data-theme=light] .leaderboard-table th{color:#475569!important}[data-theme=light] .leaderboard-table td{color:#0f172a!important}[data-theme=light] .leaderboard-row{border-color:#0000000f!important}[data-theme=light] .profile-container,[data-theme=light] .profile-page,[data-theme=light] .profile-header h1,[data-theme=light] .profile-name{color:#0f172a!important}[data-theme=light] .profile-bio,[data-theme=light] .profile-stats span{color:#475569!important}[data-theme=light] .admin-container,[data-theme=light] .admin-dashboard,[data-theme=light] .admin-container h1,[data-theme=light] .admin-container h2,[data-theme=light] .admin-container h3{color:#0f172a!important}[data-theme=light] .admin-card{background:#fff;border:1px solid rgba(0,0,0,.06)}[data-theme=light] .visualizer-ui p,[data-theme=light] .visualizer-ui span,[data-theme=light] .visualizer-ui label,[data-theme=light] .visualizer-ui li{color:inherit!important}[data-theme=light] .workspace-container,[data-theme=light] table{color:#0f172a!important}[data-theme=light] th{color:#475569;border-color:#00000014!important}[data-theme=light] td{color:#1e293b;border-color:#0000000f!important}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{color:#0f172a!important;background:#fff!important;border-color:#0000001f!important}[data-theme=light] option{color:#0f172a;background:#fff}[data-theme=light] input::-moz-placeholder,[data-theme=light] textarea::-moz-placeholder{color:#94a3b8!important}[data-theme=light] input::placeholder,[data-theme=light] textarea::placeholder{color:#94a3b8!important}[data-theme=light] select,[data-theme=light] option{background:#fff!important;color:#0f172a!important}[data-theme=light] .admin-container select,[data-theme=light] .admin-dashboard select,[data-theme=light] [class*=admin] select,[data-theme=light] [class*=Admin] select{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.18)!important}[data-theme=light] .admin-container option,[data-theme=light] .admin-dashboard option,[data-theme=light] [class*=admin] option,[data-theme=light] [class*=Admin] option{background:#fff!important;color:#0f172a!important}[data-theme=light] .dropdown-menu,[data-theme=light] .dropdown-content,[data-theme=light] .menu-dropdown,[data-theme=light] .select-menu{background:#fff!important;color:#0f172a!important;border:1px solid rgba(15,23,42,.12)!important;box-shadow:0 8px 18px #0f172a1f!important}[data-theme=light] .dropdown-menu *,[data-theme=light] .dropdown-content *,[data-theme=light] .menu-dropdown *,[data-theme=light] .select-menu *{color:#0f172a!important}[data-theme=light] .react-select__control{background:#fff!important;border-color:#0f172a29!important;box-shadow:0 4px 12px #0f172a14!important}[data-theme=light] .react-select__single-value,[data-theme=light] .react-select__input-container,[data-theme=light] .react-select__placeholder{color:#0f172a!important}[data-theme=light] .react-select__menu{background:#fff!important;border:1px solid rgba(15,23,42,.12)!important;box-shadow:0 8px 18px #0f172a1f!important}[data-theme=light] .react-select__option{color:#0f172a!important;background:#fff!important}[data-theme=light] .react-select__option--is-focused{background:#eff6ff!important}[data-theme=light] .react-select__option--is-selected{background:#2563eb!important;color:#fff!important}[data-theme=light] button:not(.control-btn):not(.play-btn):not(.btn-primary):not(.btn-gold):not(.btn-start-now){color:#0f172a!important}[data-theme=light] .btn-primary,[data-theme=light] .btn-gold,[data-theme=light] .btn-start-now{color:#fff!important}[data-theme=light] a{color:inherit!important}[data-theme=light] .modal,[data-theme=light] .modal-content{background:#fff;color:#0f172a;border:1px solid rgba(0,0,0,.08)}[data-theme=light] .badge,[data-theme=light] .tag{color:inherit!important}[data-theme=light] .tab,[data-theme=light] .tab-item{color:#475569!important}[data-theme=light] .tab.active,[data-theme=light] .tab-item.active{color:#0f172a!important}[data-theme=light] .dark-card,[data-theme=light] .glass-card{background:#fff!important;border:1px solid rgba(0,0,0,.06);color:#0f172a!important}.skill-radar-container{background:radial-gradient(circle at 20% 20%,#0e749040,#0f172aeb 55%);border-color:#ffffff14}[data-theme=light] .skill-radar-container{background:#fff!important;border-color:#00000014!important;box-shadow:inset 0 0 40px #00b8a608}[data-theme=light] .skill-radar-container polygon{stroke:#00000014}[data-theme=light] .skill-radar-container line{stroke:#00000014}[data-theme=light] .skill-radar-container text{fill:#475569!important}.loader-overlay{background:var(--loader-overlay-bg);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);isolation:isolate}.loader-overlay-glow{background:var(--loader-overlay-glow);animation:loaderAuraFloat 9s ease-in-out infinite}.loader-overlay-grid{background-image:linear-gradient(to right,var(--loader-grid-color) 1px,transparent 1px),linear-gradient(to bottom,var(--loader-grid-color) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at center,rgba(0,0,0,.95) 10%,rgba(0,0,0,.15) 74%,transparent 100%);mask-image:radial-gradient(circle at center,rgba(0,0,0,.95) 10%,rgba(0,0,0,.15) 74%,transparent 100%);opacity:.6}.loader-overlay-vignette{background:var(--loader-vignette)}.loader-overlay-panel{background:var(--loader-panel-bg);border:1px solid var(--loader-panel-border);border-radius:18px;box-shadow:var(--loader-panel-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.loader-progress-track{background:var(--loader-progress-track)}.loader-progress-fill{background:var(--loader-progress-gradient);box-shadow:var(--loader-progress-glow);animation:loaderTrackSweep 1.25s cubic-bezier(.22,1,.36,1) infinite}.top-progress-root{background:var(--top-progress-track);overflow:visible;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.top-progress-bar{background:var(--top-progress-gradient);box-shadow:var(--top-progress-shadow);overflow:hidden;position:relative}.top-progress-sheen{position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.52) 50%,transparent 100%);animation:topProgressSheen 1.2s linear infinite}.top-progress-tip{position:absolute;top:-3px;width:12px;height:12px;border-radius:999px;background:var(--top-progress-tip);box-shadow:0 0 16px #38bdf88c;animation:topProgressPulse 1s ease-in-out infinite}.loader-ring-spin{animation:loaderRingSpin 1s linear infinite}.loader-ring-reverse{animation-direction:reverse;animation-duration:.9s}.loader-ring-ambient{animation-duration:1.6s}.loader-logo-pulse{animation:loaderLogoPulse 1.05s ease-in-out infinite}.skeleton-card-root{border:1px solid var(--skeleton-card-border);background:var(--skeleton-card-bg)}@keyframes loaderRingSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loaderAuraFloat{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-8px,0) scale(1.02)}}@keyframes loaderLogoPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}@keyframes loaderTrackSweep{0%{transform:translate(-55%)}to{transform:translate(55%)}}@keyframes topProgressSheen{to{transform:translate(320%)}}@keyframes topProgressPulse{0%,to{transform:scale(.9);opacity:.9}50%{transform:scale(1.08);opacity:1}}.skeleton-shimmer{position:relative;overflow:hidden;background:var(--skeleton-base)}.skeleton-shimmer:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:var(--skeleton-shimmer-bg);animation:skeletonShimmer 1.2s linear infinite}@keyframes skeletonShimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.loader-ring-spin,.loader-logo-pulse,.loader-progress-fill,.top-progress-sheen,.top-progress-tip,.loader-overlay-glow,.skeleton-shimmer:after{animation:none!important}.page-transition-content{transition:none!important}}.theatre-mode{position:relative;background:radial-gradient(circle at center,#1e293b 0%,var(--bg-dark) 100%);padding:24px}.theatre-mode:before{content:"";position:absolute;top:0;left:0;right:0;height:350px;background:var(--loader-overlay-glow);opacity:.6;pointer-events:none;z-index:0}.theatre-mode>*{position:relative;z-index:1}.theatre-stage{background:#0f172a66!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff1a!important;background:radial-gradient(circle at 50% 50%,#1a1a2e,#0f0f1a);min-height:calc(100vh - var(--nav-height));padding:2rem;color:#e0e0e0;position:relative;overflow:hidden}[data-theme=light] .theatre-mode{background:radial-gradient(circle at 50% 50%,#f0f2f5,#e2e8f0);color:#1a202c}.theatre-stage{background:#ffffff08;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #0000005e;padding:2rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.theatre-stage:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent,rgba(66,153,225,.2),transparent);border-radius:22px;z-index:-1;animation:stage-glow 4s linear infinite}@keyframes stage-glow{0%{opacity:.3}50%{opacity:.7}to{opacity:.3}}[data-theme=light] .theatre-stage{background:#ffffffb3;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 20px #0000000d}.grid-cell{border:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;aspect-ratio:1;transition:all .2s ease}.grid-cell-active-path{background:#4299e14d!important;border-color:#4299e1!important;color:#4299e1;box-shadow:0 0 15px #4299e166}.grid-cell-crossed{background:#f5656526!important;color:#f5656599;text-decoration:line-through}.grid-cell-completed{background:#48bb7833!important;border-color:#48bb78!important;color:#48bb78;box-shadow:0 0 10px #48bb7833}@media(max-width:768px){.theatre-mode,.theatre-stage{padding:1rem}.grid-cell{font-size:.7rem}.cs-education-panel{background:var(--bg-surface, var(--bg-card-dark));border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:16px;padding:24px}.cs-edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cs-edu-section h3{font-size:1rem;margin-bottom:12px;color:var(--primary-color, var(--primary-orange))}.cs-edu-section p{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.cs-complexity-bubble{display:flex;flex-direction:column;gap:8px;background:#ffffff08;padding:12px;border-radius:10px}[data-theme=light] .cs-complexity-bubble{background:#00000008}.cs-complexity-item{display:flex;justify-content:space-between;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:4px}[data-theme=light] .cs-complexity-item{border-bottom-color:#0000000d;color:#1e293b!important}.cs-complexity-item:last-child{border-bottom:none}.cs-edu-grid{grid-template-columns:1fr}}:root{--font-body: "DM Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Cascadia Code", monospace;--primary-orange: #dd8d32;--primary-teal: #8dc9b1;--accent-yellow: #e9ad55;--accent-red: #d96558;--bg-light: #fbfaf5;--bg-dark: #111613;--bg-card-light: #fffef9;--bg-card-dark: #171c18;--text-primary: #f4f3ee;--text-secondary: #a9afa9;--text-muted: #747a74;--primary: var(--primary-orange);--secondary: var(--primary-teal);--accent: var(--accent-yellow);--bg-primary: var(--bg-dark);--nav-height: 68px;--radius-lg: 10px;--radius-md: 8px;--radius-sm: 6px;--status-success: #79b89a;--status-warning: #e9ad55;--status-error: #d96558;color-scheme:dark}[data-theme=light]{--bg-dark: #fbfaf5;--bg-card-dark: #fffef9;--text-primary: #18201b;--text-secondary: #59645b;--text-muted: #7a837a;--bg-primary: var(--bg-dark);color-scheme:light}html{background:var(--bg-dark)}body{background-color:var(--bg-dark);background-image:none;color:var(--text-primary);font-family:var(--font-body);text-rendering:optimizeLegibility}#root{min-height:100vh}button,input,select,textarea{font:inherit}select,option{background:var(--bg-card-dark);color:var(--text-primary)}:focus-visible{outline:2px solid var(--primary-teal);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.glass-panel{border:1px solid rgba(244,243,238,.13);border-radius:8px;background:var(--bg-card-dark);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.loader-overlay-entry{animation:loader-panel-enter .24s cubic-bezier(.22,1,.36,1) both}@keyframes loader-panel-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=light] .glass-panel{border-color:#18201b24;background:var(--bg-card-dark);box-shadow:none}.gradient-text{background:none;color:var(--primary-orange);-webkit-background-clip:initial;-webkit-text-fill-color:currentColor;background-clip:initial}.control-btn{min-height:42px;height:auto;border-color:#f4f3ee24;border-radius:6px;background:var(--bg-card-dark);box-shadow:none;color:var(--text-primary)!important;font-size:.82rem;font-weight:700;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.control-btn:hover:not(:disabled){border-color:var(--text-muted);background:#222923;box-shadow:none;filter:none;transform:translateY(-1px)}.play-btn{border-color:var(--primary-orange);background:var(--primary-orange);color:#1a1914!important}.play-btn:hover:not(:disabled){border-color:#eca043;background:#eca043}.loader-overlay{background:#111613f0;backdrop-filter:none;-webkit-backdrop-filter:none}.loader-overlay-glow,.loader-overlay-grid,.loader-overlay-vignette{display:none}.loader-overlay-panel{border-color:#f4f3ee24;border-radius:8px;background:#171c18;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.loader-progress-fill,.top-progress-bar{background:var(--primary-orange);box-shadow:none}.top-progress-root{background:#f4f3ee21;backdrop-filter:none;-webkit-backdrop-filter:none}.top-progress-sheen,.top-progress-tip{display:none}@media(prefers-reduced-motion:reduce){.loader-overlay-entry{animation:none}}.auth-page{display:grid;min-height:calc(100vh - var(--nav-height));place-items:center;padding:40px 20px}.auth-page .glass-panel,.auth-card{width:min(100%,440px)!important;padding:30px!important;border-radius:8px!important}.auth-page .search-container{width:100%;margin-bottom:16px!important}.auth-page .search-input{height:44px;padding-left:40px!important;border-color:#f4f3ee21;border-radius:6px;background:#151b17}.auth-page .search-input:focus{border-color:var(--primary-teal);box-shadow:0 0 0 3px #8dc9b11f}.auth-page .control-btn{min-height:44px;border-color:var(--primary-orange)!important;background:var(--primary-orange)!important;color:#1a1914!important}.auth-page a{color:var(--primary-teal)!important}[data-theme=light] .auth-page .search-input{border-color:#18201b24;background:#f4f3ec;color:#18201b}@media(max-width:560px){.auth-page{padding:24px 16px}.auth-page .glass-panel,.auth-card{padding:24px 20px!important}}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.hover\:border-teal-500\/50:hover{border-color:#14b8a680}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:bg-blue-500\/10:hover{background-color:#3b82f61a}.hover\:bg-blue-600\/25:hover{background-color:#2563eb40}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-green-600\/30:hover{background-color:#16a34a4d}.hover\:bg-orange-700:hover{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-600\/30:hover{background-color:#9333ea4d}.hover\:bg-purple-600\/40:hover{background-color:#9333ea66}.hover\:bg-purple-700:hover{--tw-bg-opacity: 1;background-color:rgb(126 34 206 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-yellow-500\/25:hover{background-color:#eab30840}.hover\:from-blue-700:hover{--tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-green-700:hover{--tw-gradient-from: #15803d var(--tw-gradient-from-position);--tw-gradient-to: rgb(21 128 61 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-indigo-700:hover{--tw-gradient-to: #4338ca var(--tw-gradient-to-position)}.hover\:to-teal-700:hover{--tw-gradient-to: #0f766e var(--tw-gradient-to-position)}.hover\:text-green-300:hover{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-teal-300:hover{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.hover\:text-teal-400:hover{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-green-500\/30:hover{--tw-shadow-color: rgb(34 197 94 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-teal-500\/30:hover{--tw-shadow-color: rgb(20 184 166 / .3);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-green-500:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.focus\:ring-teal-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.md\:w-64{width:16rem}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media(min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.back-forward-controls{display:flex;gap:8px;background:var(--bg-surface);padding:4px;border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid #E2E8F0}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;color:var(--text-secondary);transition:all .2s ease}.nav-btn:hover{background-color:var(--bg-primary);color:var(--text-primary);transform:translateY(-1px)}.nav-btn:active{transform:translateY(0)}.notification-bell-wrapper{position:relative;display:flex;align-items:center}.notification-bell-btn{position:relative;background:transparent;border:none;cursor:pointer;padding:8px;border-radius:10px;color:#9ca3af;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.notification-bell-btn:hover{background:#ffffff0f;color:#e5e7eb;transform:scale(1.08)}.notification-bell-btn.has-unread{color:#fbbf24}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px #ef444480;animation:badge-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes bell-ring{0%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}.notification-bell-btn.ring-anim{animation:bell-ring .6s ease}.notification-dropdown{position:absolute;top:calc(100% + 10px);right:-40px;width:380px;max-height:520px;background:#111827f7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d,inset 0 1px #ffffff0f;z-index:9999;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(-8px) scale(.97);animation:dropdown-in .22s ease forwards}@keyframes dropdown-in{to{opacity:1;transform:translateY(0) scale(1)}}.notification-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.notification-dropdown-header h3{margin:0;color:#f3f4f6;font-size:.95rem;font-weight:700;letter-spacing:-.01em}.notification-mark-all-btn{background:transparent;border:none;color:#60a5fa;font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 10px;border-radius:8px;transition:all .2s}.notification-mark-all-btn:hover{background:#60a5fa1f;color:#93bbfc}.notification-filter-tabs{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);overflow-x:auto;scrollbar-width:none;align-items:center}.notification-filter-tabs::-webkit-scrollbar{display:none}.notification-filter-tab{background:transparent;border:1px solid rgba(255,255,255,.08);color:#9ca3af;font-size:.68rem;font-weight:600;padding:6px 12px;border-radius:20px;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.notification-filter-tab:hover{background:#ffffff0f;color:#d1d5db}.notification-filter-tab.active{background:#60a5fa26;border-color:#60a5fa4d;color:#93bbfc}.notification-list{flex:1;overflow-y:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.notification-list::-webkit-scrollbar{width:5px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}.notification-group-heading{padding:10px 18px 4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.notification-item{display:flex;gap:12px;padding:12px 18px;cursor:pointer;transition:background .15s ease;position:relative;border:none;background:transparent;width:100%;text-align:left}.notification-item:hover{background:#ffffff0a}.notification-item.unread{background:#3b82f60d}.notification-item.unread:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:#3b82f6;border-radius:50%;box-shadow:0 0 6px #3b82f680}.notification-item-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;background:#ffffff0f}.notification-item-icon.type-contest{background:#fbbf241f}.notification-item-icon.type-submission{background:#22c55e1f}.notification-item-icon.type-reply{background:#60a5fa1f}.notification-item-icon.type-like{background:#ec48991f}.notification-item-icon.type-achievement{background:#a855f71f}.notification-item-icon.type-system{background:#6b72801f}.notification-item-content{flex:1;min-width:0}.notification-item-title{color:#e5e7eb;font-size:.82rem;font-weight:600;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item.unread .notification-item-title{color:#f9fafb;font-weight:700}.notification-item-message{color:#9ca3af;font-size:.73rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.notification-item-time{color:#6b7280;font-size:.65rem;margin-top:3px;display:block}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;color:#6b7280;text-align:center}.notification-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.notification-empty p{margin:0;font-size:.85rem;font-weight:500}.notification-empty span{font-size:.72rem;color:#4b5563;margin-top:4px;display:block}.notification-dropdown-footer{padding:10px 18px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.notification-view-all-btn{background:transparent;border:none;color:#60a5fa;font-size:.78rem;font-weight:600;cursor:pointer;padding:6px 14px;border-radius:8px;transition:all .2s;width:100%}.notification-view-all-btn:hover{background:#60a5fa1a}@media(max-width:480px){.notification-dropdown{width:calc(100vw - 24px);right:-60px;max-height:70vh}}@media(max-width:768px){.notification-dropdown{width:min(420px,calc(100vw - 20px));right:-12px;max-height:72vh;border-radius:14px}.notification-dropdown-header{padding:14px 14px 10px}.notification-item{padding:11px 14px}}[data-theme=light] .notification-dropdown{background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 16px 40px #0000001f}[data-theme=light] .notification-dropdown-header{border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .notification-dropdown-header h3{color:#0f172a}[data-theme=light] .notification-mark-all-btn{color:#2563eb}[data-theme=light] .notification-mark-all-btn:hover{background:#2563eb14;color:#1d4ed8}[data-theme=light] .notification-filter-tabs{border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=light] .notification-filter-tab{border:1px solid rgba(0,0,0,.1);color:#475569}[data-theme=light] .notification-filter-tab:hover{background:#0000000a;color:#0f172a}[data-theme=light] .notification-filter-tab.active{background:#3b82f61a;border-color:#3b82f64d;color:#2563eb}[data-theme=light] .notification-group-heading{color:#64748b}[data-theme=light] .notification-item:hover{background:#f8fafc}[data-theme=light] .notification-item.unread{background:#eff6ff}[data-theme=light] .notification-item.unread:before{background:#2563eb;box-shadow:0 0 6px #2563eb66}[data-theme=light] .notification-item-title{color:#1e293b}[data-theme=light] .notification-item.unread .notification-item-title{color:#0f172a}[data-theme=light] .notification-item-message{color:#475569}[data-theme=light] .notification-item-time{color:#64748b}[data-theme=light] .notification-item-icon{background:#f1f5f9}[data-theme=light] .notification-item-icon.type-contest{background:#fef3c7}[data-theme=light] .notification-item-icon.type-submission{background:#dcfce7}[data-theme=light] .notification-item-icon.type-reply{background:#dbeafe}[data-theme=light] .notification-item-icon.type-like{background:#fce7f3}[data-theme=light] .notification-item-icon.type-achievement{background:#f3e8ff}[data-theme=light] .notification-item-icon.type-system{background:#f1f5f9}[data-theme=light] .notification-empty{color:#475569}[data-theme=light] .notification-empty span{color:#64748b}[data-theme=light] .notification-dropdown-footer{border-top:1px solid rgba(0,0,0,.06)}[data-theme=light] .notification-view-all-btn{color:#2563eb}[data-theme=light] .notification-view-all-btn:hover{background:#2563eb14}[data-theme=light] .notification-bell-btn:hover{background:#0000000d;color:#0f172a}[data-theme=light] .notification-bell-btn{color:#475569}[data-theme=light] .notification-bell-btn.has-unread{color:#d97706}[data-theme=light] .notification-list{scrollbar-color:rgba(0,0,0,.15) transparent}[data-theme=light] .notification-list::-webkit-scrollbar-thumb{background:#00000026}.navbar{display:flex;align-items:center;justify-content:space-between;height:var(--nav-height);padding:0 clamp(16px,3vw,40px);position:fixed;inset:0 0 auto;z-index:1000;border-bottom:1px solid rgba(244,243,238,.09);background:#111613;color:#f4f3ee;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.navbar-scrolled{border-bottom-color:#f4f3ee24;box-shadow:0 5px 18px #0000001f}.nav-left,.nav-right,.nav-user-actions,.nav-guest-actions,.nav-brand{display:flex;align-items:center}.nav-left{min-width:0;flex:1 1 auto;gap:18px}.nav-right{flex-shrink:0;gap:17px}.nav-user-actions{gap:7px}.nav-guest-actions{gap:12px}.nav-brand{flex-shrink:0;gap:8px;color:#f4f3ee;text-decoration:none}.nav-brand-mark{display:block;width:auto;height:28px}.nav-brand-wordmark{font-size:1.02rem;font-weight:750;letter-spacing:-.045em}.search-wrapper{position:relative;width:min(260px,22vw);min-width:150px}.search-container{position:relative;width:100%}.nav-search-icon{position:absolute;top:50%;left:12px;z-index:1;color:#849087;font-size:.76rem;pointer-events:none;transform:translateY(-50%)}.search-input{width:100%;height:36px;padding:0 12px 0 34px;border:1px solid rgba(244,243,238,.12);border-radius:6px;outline:none;background:#1a211c;color:#f4f3ee;font-family:inherit;font-size:.79rem;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.search-input::-moz-placeholder{color:#849087}.search-input::placeholder{color:#849087}.search-input:focus{border-color:#8dc9b1;background:#1d251f;box-shadow:0 0 0 3px #8dc9b11f}.nav-link{position:relative;padding:6px 0;color:#aeb5ae;font-size:.78rem;font-weight:650;text-decoration:none;white-space:nowrap;transition:color .16s ease}.nav-link:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;background:#dd8d32;content:"";opacity:0;transform:scaleX(.45);transition:opacity .16s ease,transform .16s ease}.nav-link:hover,.nav-link.active{color:#f4f3ee}.nav-link:hover:after,.nav-link.active:after{opacity:1;transform:scaleX(1)}.nav-link-admin{color:#e6ad68}.nav-login{color:#f4f3ee}.nav-register{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:6px;background:#dd8d32;color:#181914;font-size:.77rem;font-weight:750;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.nav-register:hover{background:#eca043;transform:translateY(-1px)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(244,243,238,.12);border-radius:6px;background:transparent;color:#bac3b9;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.theme-toggle:hover{border-color:#f4f3ee47;background:#f4f3ee0f;color:#f4f3ee}.theme-toggle-icon{display:inline-flex;transition:transform .18s ease}.theme-toggle:hover .theme-toggle-icon{transform:rotate(12deg)}.theme-toggle-icon.is-light{transform:rotate(180deg)}.nav-profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;overflow:hidden;border:1px solid rgba(244,243,238,.22);border-radius:50%;background:#40594c;color:#f7f6ee;font-size:.82rem;font-weight:750;transition:border-color .16s ease,transform .16s ease}.nav-profile-avatar:hover{border-color:#8dc9b1;transform:translateY(-1px)}.nav-profile-trigger{cursor:pointer}.nav-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.admin-nav-group{display:flex;align-items:center;gap:7px}.admin-nav-btn{padding:6px 8px;border:1px solid rgba(244,243,238,.1);border-radius:5px;color:#aeb5ae;font-size:.7rem;font-weight:650;text-decoration:none;transition:color .16s ease,border-color .16s ease}.admin-nav-btn:hover,.admin-nav-btn.active{border-color:#dd8d32;color:#f4f3ee}.profile-drawer{position:fixed;top:calc(var(--nav-height) + 10px);right:18px;z-index:1200;width:min(330px,calc(100vw - 36px));max-height:calc(100vh - var(--nav-height) - 24px);padding:16px;overflow-y:auto;border:1px solid rgba(244,243,238,.14);border-radius:8px;background:#1a201c;color:#f4f3ee;box-shadow:0 18px 34px #00000038}.profile-drawer-header{display:flex;align-items:center;gap:12px;padding:2px 0 16px}.profile-drawer-avatar{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;overflow:hidden;border-radius:50%;background:#40594c;color:#f4f3ee;font-size:1rem;font-weight:750;flex-shrink:0}.profile-drawer-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-drawer-userinfo h3{margin:0;color:#f4f3ee;font-size:1rem;font-weight:700;letter-spacing:-.02em}.profile-drawer-subtitle{margin:4px 0 0;color:#95a197;font-size:.77rem}.profile-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.profile-quick-card{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid rgba(244,243,238,.09);border-radius:6px;background:#202821;color:#c9d0c8;font-size:.78rem;text-align:left;transition:background-color .16s ease}.profile-quick-card:hover{background:#28332b}.profile-quick-icon{display:inline-flex;color:#8dc9b1}.profile-drawer-menu{padding-top:8px;border-top:1px solid rgba(244,243,238,.1)}.profile-menu-item{display:flex;align-items:center;width:100%;gap:10px;padding:9px 4px;background:transparent;color:#c9d0c8;font-size:.82rem;text-align:left;transition:color .16s ease}.profile-menu-item:hover{color:#f4f3ee}.profile-menu-signout{color:#e8a090}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid rgba(244,243,238,.12);border-radius:6px;background:transparent;color:#f4f3ee}.mobile-nav-backdrop{position:fixed;inset:0;z-index:1100;background:#080c099e}.mobile-nav-panel{position:fixed;top:calc(var(--nav-height) + 8px);right:12px;z-index:1150;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - var(--nav-height) - 20px);padding:14px;overflow-y:auto;border:1px solid rgba(244,243,238,.14);border-radius:8px;background:#1a201c;box-shadow:0 18px 34px #00000042}.mobile-nav-section-title,.mobile-nav-subsection-title{color:#849087;font-size:.67rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mobile-nav-subsection-title{margin:14px 0 6px}.mobile-nav-links,.mobile-nav-auth{display:grid;gap:3px;margin-top:8px}.mobile-nav-auth{padding-top:12px;border-top:1px solid rgba(244,243,238,.1)}.mobile-nav-link{display:block;padding:10px;border-radius:5px;color:#c9d0c8;font-size:.84rem;font-weight:650;text-decoration:none}.mobile-nav-link:hover,.mobile-nav-link.active{background:#242d26;color:#f4f3ee}.mobile-nav-link.signup{margin-top:4px;background:#dd8d32;color:#181914;text-align:center}[data-theme=light] .navbar{border-bottom-color:#18201b1f;background:#faf8f0;color:#18201b}[data-theme=light] .navbar-scrolled{box-shadow:0 5px 18px #18201b14}[data-theme=light] .nav-brand,[data-theme=light] .nav-link:hover,[data-theme=light] .nav-link.active,[data-theme=light] .nav-login{color:#18201b}[data-theme=light] .nav-link{color:#627065}[data-theme=light] .nav-link-admin{color:#b45309;font-weight:750}[data-theme=light] .nav-link-admin:hover,[data-theme=light] .nav-link-admin.active{color:#78350f}[data-theme=light] .search-input{border-color:#18201b26;background:#f1f0e9;color:#18201b}[data-theme=light] .search-input:focus{background:#fffef9}[data-theme=light] .theme-toggle,[data-theme=light] .mobile-menu-toggle{border-color:#18201b26;color:#495649}[data-theme=light] .theme-toggle:hover{border-color:#18201b4d;background:#f1f0e9;color:#18201b}[data-theme=light] .profile-drawer,[data-theme=light] .mobile-nav-panel{border-color:#18201b24;background:#fffef9;color:#18201b;box-shadow:0 18px 34px #18201b1f}[data-theme=light] .profile-drawer-userinfo h3{color:#18201b}[data-theme=light] .profile-drawer-subtitle,[data-theme=light] .mobile-nav-section-title,[data-theme=light] .mobile-nav-subsection-title{color:#687468}[data-theme=light] .profile-quick-card{border-color:#18201b1a;background:#f1f0e9;color:#344035}[data-theme=light] .profile-quick-card:hover,[data-theme=light] .mobile-nav-link:hover,[data-theme=light] .mobile-nav-link.active{background:#e9ebe2}[data-theme=light] .profile-menu-item,[data-theme=light] .mobile-nav-link{color:#4b574c}[data-theme=light] .profile-menu-item:hover,[data-theme=light] .mobile-nav-link:hover,[data-theme=light] .mobile-nav-link.active{color:#18201b}@media(max-width:1180px){.nav-left,.nav-right{gap:12px}.nav-link{font-size:.73rem}.search-wrapper{width:min(215px,19vw)}}@media(max-width:1024px){.nav-backforward,.nav-right>.nav-link,.admin-nav-group{display:none}.navbar{padding-inline:14px}.nav-left{gap:10px}.nav-right{gap:8px}.search-wrapper{width:min(42vw,340px)}.mobile-menu-toggle{display:inline-flex}}@media(max-width:640px){.navbar{--nav-height: 62px}.nav-brand-wordmark{display:none}.nav-brand-mark{height:26px}.nav-left{gap:8px}.nav-right{gap:6px}.search-wrapper{width:min(42vw,210px);min-width:94px}.search-input{height:34px;font-size:.74rem}.nav-profile-avatar,.theme-toggle,.mobile-menu-toggle{width:33px;height:33px}.profile-drawer{top:calc(var(--nav-height) + 8px);right:10px;width:calc(100vw - 20px)}}@media(prefers-reduced-motion:reduce){.navbar,.search-input,.nav-link,.nav-link:after,.nav-register,.theme-toggle,.theme-toggle-icon,.nav-profile-avatar,.profile-quick-card,.profile-menu-item{transition:none}}.search-suggestions-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-card-dark);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 25px #0006;z-index:1000;max-height:400px;overflow-y:auto;overflow-x:hidden;padding:8px;display:flex;flex-direction:column;gap:4px;animation:slideDown .2s ease-out}[data-theme=light] .search-suggestions-dropdown{background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 10px 25px #0000001a}.suggestion-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--text-primary);transition:all .2s ease;cursor:pointer;text-decoration:none}.suggestion-item:hover,.suggestion-item.active{background:#ffffff0d}[data-theme=light] .suggestion-item:hover,[data-theme=light] .suggestion-item.active{background:#0f172a0a}.suggestion-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#14b8a61a;color:var(--primary-teal);border-radius:6px;flex-shrink:0}.suggestion-info{display:flex;flex-direction:column;min-width:0}.suggestion-name{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-category{font-size:.75rem;color:var(--text-secondary)}.suggestion-empty{padding:20px;text-align:center;color:var(--text-secondary);font-size:.85rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.page-transition-shell{min-width:0;animation:page-fade-in .18s ease-out both}.page-transition-content{min-width:0;animation:page-settle-in .26s cubic-bezier(.22,1,.36,1) both}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}@keyframes page-settle-in{0%{transform:translateY(8px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-transition-shell,.page-transition-content{animation:none}}.offline-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif}.offline-content{text-align:center;position:relative;z-index:2;max-width:450px;padding:2rem}.offline-icon-wrapper{width:100px;height:100px;background:#f43f5e1a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;border:1px solid rgba(244,63,94,.2)}.offline-icon{font-size:3rem;color:#f43f5e}.offline-title{color:#f8fafc;font-size:2.5rem;font-weight:800;margin-bottom:1rem;letter-spacing:-.025em}.offline-text{color:#94a3b8;font-size:1.125rem;line-height:1.6;margin-bottom:2.5rem}.offline-retry-btn{display:inline-flex;align-items:center;gap:.75rem;background:#3b82f6;color:#fff;padding:.875rem 2rem;border-radius:12px;font-weight:600;font-size:1.1rem;border:none;cursor:pointer;box-shadow:0 10px 15px -3px #2563eb66;transition:background .2s,box-shadow .2s}.offline-retry-btn:hover{background:#2563eb;box-shadow:0 20px 25px -5px #2563eb66}.retry-icon{font-size:1.25rem}.offline-background-blobs{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:1}.blob{position:absolute;width:500px;height:500px;background:radial-gradient(circle,#3b82f626,#3b82f600 70%);border-radius:50%;filter:blur(40px)}.blob-1{top:-100px;right:-100px}.blob-2{bottom:-150px;left:-150px;background:radial-gradient(circle,#f43f5e1a,#f43f5e00 70%)}@media(max-width:640px){.offline-title{font-size:2rem}.offline-text{font-size:1rem}.offline-retry-btn{width:100%;justify-content:center}}.algorithm-study-guide{--guide-ink: #f4f3ee;--guide-muted: #a9afa9;--guide-faint: #747a74;--guide-line: rgba(244, 243, 238, .13);--guide-surface: #171c18;--guide-raised: #1d231f;--guide-accent: #dd8d32;max-width:1240px;margin:0 auto;padding:64px 32px 80px;color:var(--guide-ink)}[data-theme=light] .algorithm-study-guide{--guide-ink: #18201b;--guide-muted: #59645b;--guide-faint: #7a837a;--guide-line: rgba(24, 32, 27, .14);--guide-surface: #fffef9;--guide-raised: #f4f3ec;--guide-accent: #b8641c}.algorithm-study-header{display:flex;align-items:end;justify-content:space-between;gap:28px;padding-bottom:24px;border-bottom:1px solid var(--guide-line)}.algorithm-study-kicker,.algorithm-study-label{margin:0;color:var(--guide-accent);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.algorithm-study-header h2{max-width:760px;margin:11px 0 0;color:var(--guide-ink);font-size:clamp(1.7rem,3.5vw,2.65rem);font-weight:650;letter-spacing:-.05em;line-height:1.05}.algorithm-study-tags{display:flex;flex-wrap:wrap;justify-content:end;gap:6px}.algorithm-study-tags span{padding:5px 7px;border:1px solid var(--guide-line);color:var(--guide-muted);font-family:var(--font-mono);font-size:.63rem;font-weight:600}.algorithm-study-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;margin-top:32px;border:1px solid var(--guide-line);background:var(--guide-line)}.algorithm-study-card{position:relative;grid-column:span 4;min-height:286px;padding:22px;background:var(--bg-dark)}.algorithm-study-card>svg{color:#8dc9b1;font-size:.94rem}.algorithm-study-card h3{margin:14px 0 0;color:var(--guide-ink);font-size:1.04rem;font-weight:700;letter-spacing:-.025em}.algorithm-study-card>p:not(.algorithm-study-label){margin:9px 0 0;color:var(--guide-muted);font-size:.81rem;line-height:1.55}.algorithm-study-card--intro,.algorithm-study-card--example,.algorithm-study-card--uses,.algorithm-study-card--check{grid-column:span 6}.algorithm-study-core{margin-top:18px!important}.algorithm-study-core strong,.algorithm-study-requirement strong{color:var(--guide-ink)}.algorithm-study-requirement{color:var(--guide-faint)!important}.algorithm-study-steps,.algorithm-study-trace,.algorithm-study-checklist{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none;counter-reset:guide-step}.algorithm-study-steps li,.algorithm-study-trace li{display:grid;grid-template-columns:20px 1fr;gap:8px;color:var(--guide-muted);font-size:.8rem;line-height:1.48}.algorithm-study-steps li:before,.algorithm-study-trace li:before{display:grid;width:18px;height:18px;place-items:center;border:1px solid var(--guide-line);color:var(--guide-accent);content:counter(guide-step,decimal-leading-zero);counter-increment:guide-step;font-family:var(--font-mono);font-size:.54rem}.algorithm-study-example-values{display:grid;gap:1px;margin:18px 0 0;border:1px solid var(--guide-line);background:var(--guide-line)}.algorithm-study-example-values div{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:9px;background:var(--guide-raised)}.algorithm-study-example-values dt{color:var(--guide-faint);font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.algorithm-study-example-values dd{margin:0;color:var(--guide-ink);font-family:var(--font-mono);font-size:.69rem;line-height:1.45}.algorithm-study-complexity{display:grid;gap:1px;margin:18px 0 0;border:1px solid var(--guide-line);background:var(--guide-line)}.algorithm-study-complexity div{padding:11px;background:var(--guide-raised)}.algorithm-study-complexity dt{color:var(--guide-faint);font-size:.64rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.algorithm-study-complexity dd{margin:7px 0 0;color:var(--guide-ink);font-family:var(--font-mono);font-size:.68rem;line-height:1.45}.algorithm-study-uses{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none}.algorithm-study-uses li{display:grid;gap:3px;padding-bottom:11px;border-bottom:1px solid var(--guide-line)}.algorithm-study-uses li:last-child{padding-bottom:0;border-bottom:0}.algorithm-study-uses strong{color:var(--guide-ink);font-size:.75rem}.algorithm-study-uses span{color:var(--guide-muted);font-size:.76rem;line-height:1.46}.algorithm-study-checklist li{display:grid;grid-template-columns:12px 1fr;gap:8px;color:var(--guide-muted);font-size:.8rem;line-height:1.48}.algorithm-study-checklist li:before{width:5px;height:5px;margin-top:.42rem;border-radius:50%;background:#8dc9b1;content:""}.algorithm-study-code{margin-top:32px;border:1px solid var(--guide-line);background:var(--guide-surface)}.algorithm-study-code summary{display:flex;align-items:center;gap:9px;min-height:54px;padding:0 18px;color:var(--guide-ink);cursor:pointer;font-size:.82rem;font-weight:700;list-style:none}.algorithm-study-code summary::-webkit-details-marker{display:none}.algorithm-study-code summary svg{color:var(--guide-accent);font-size:.76rem}.algorithm-study-code pre{max-height:580px;margin:0;overflow:auto;padding:20px;border-top:1px solid var(--guide-line);background:#101511;color:#d6ded7;font-family:var(--font-mono);font-size:.74rem;line-height:1.68;-moz-tab-size:4;-o-tab-size:4;tab-size:4}[data-theme=light] .algorithm-study-code pre{background:#eff0ea;color:#263129}@media(max-width:900px){.algorithm-study-card,.algorithm-study-card--intro,.algorithm-study-card--example,.algorithm-study-card--uses,.algorithm-study-card--check{grid-column:span 6}}@media(max-width:680px){.algorithm-study-guide{padding:48px 20px 56px}.algorithm-study-header{display:grid;grid-template-columns:1fr;align-items:start;gap:18px}.algorithm-study-tags{justify-content:start}.algorithm-study-card,.algorithm-study-card--intro,.algorithm-study-card--example,.algorithm-study-card--uses,.algorithm-study-card--check{grid-column:1 / -1;min-height:0}.algorithm-study-code{margin-right:-20px;margin-left:-20px;border-right:0;border-left:0}.algorithm-study-code pre{max-height:440px;padding:16px;font-size:.68rem}}.content-page,.status-page{--content-ink: #f4f3ee;--content-muted: #a9afa9;--content-faint: #747a74;--content-line: rgba(244, 243, 238, .13);--content-surface: #171c18;--content-raised: #1d231f;--content-accent: #dd8d32;max-width:1280px;margin:0 auto;padding:clamp(36px,6vw,80px) clamp(20px,4vw,48px) 72px;color:var(--content-ink)}[data-theme=light] .content-page,[data-theme=light] .status-page{--content-ink: #18201b;--content-muted: #59645b;--content-faint: #7a837a;--content-line: rgba(24, 32, 27, .14);--content-surface: #fffef9;--content-raised: #f4f3ec;--content-accent: #b8641c}.content-page-intro{max-width:810px}.content-page-intro-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);align-items:end;max-width:none;gap:32px}.content-kicker{margin:0;color:var(--content-accent);font-size:.69rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.content-page h1,.status-page h1{margin:15px 0 0;color:var(--content-ink);font-size:clamp(2.55rem,5vw,4.8rem);font-weight:650;letter-spacing:-.065em;line-height:.98}.content-lede{margin:22px 0 0;color:var(--content-muted);font-size:1rem;line-height:1.7}.content-page-intro-split .content-lede{margin:0 0 3px}.content-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:9px;padding:0 16px;border:1px solid var(--content-accent);border-radius:6px;background:var(--content-accent);color:#1a1914;font-size:.82rem;font-weight:750;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.content-button:hover{border-color:#eca043;background:#eca043;transform:translateY(-1px)}.content-button svg{font-size:.69rem}.content-button-secondary{border-color:var(--content-line);background:transparent;color:var(--content-ink)}.content-button-secondary:hover{border-color:var(--content-muted);background:var(--content-raised)}.principles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:clamp(48px,7vw,84px);border:1px solid var(--content-line);background:var(--content-line)}.principle-card{position:relative;min-height:270px;padding:24px;background:var(--bg-dark)}.principle-index{color:var(--content-accent);font-family:var(--font-mono);font-size:.68rem;font-weight:600}.principle-icon{display:inline-flex;margin-top:35px;color:#8dc9b1;font-size:1.1rem}.principle-card h2{margin:16px 0 0;color:var(--content-ink);font-size:1.12rem;font-weight:700;letter-spacing:-.025em}.principle-card p{margin:9px 0 0;color:var(--content-muted);font-size:.84rem;line-height:1.58}.content-callout{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-top:1px;padding:clamp(32px,5vw,58px) 0;border-bottom:1px solid var(--content-line)}.content-callout h2{max-width:640px;margin:14px 0 0;color:var(--content-ink);font-size:clamp(1.7rem,3vw,2.75rem);font-weight:650;letter-spacing:-.045em;line-height:1.08}.content-callout-compact{margin-top:36px;border-top:1px solid var(--content-line)}.content-callout-compact h2{margin:0;font-size:1.4rem}.content-callout p{margin:8px 0 0;color:var(--content-muted);font-size:.88rem}.visualizer-start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:clamp(44px,7vw,76px);border:1px solid var(--content-line);background:var(--content-line)}.visualizer-start-card{display:flex;flex-direction:column;min-height:240px;padding:22px;background:var(--bg-dark);color:inherit;text-decoration:none;transition:background-color .16s ease}.visualizer-start-card:hover{background:var(--content-raised)}.visualizer-start-card>span{color:var(--content-faint);font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.visualizer-start-card h2{margin:38px 0 0;color:var(--content-ink);font-size:1.13rem;font-weight:700;letter-spacing:-.03em}.visualizer-start-card p{margin:9px 0 0;color:var(--content-muted);font-size:.8rem;line-height:1.55}.visualizer-start-card strong{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;color:var(--content-accent);font-size:.73rem}.visualizer-start-card strong svg{font-size:.58rem}.learning-path-list{margin-top:clamp(42px,6vw,72px);border-top:1px solid var(--content-line)}.learning-path-row{display:grid;grid-template-columns:42px minmax(210px,.9fr) 88px minmax(230px,.95fr) 28px;gap:20px;align-items:center;min-height:168px;border-bottom:1px solid var(--content-line)}.learning-path-index{color:var(--content-faint);font-family:var(--font-mono);font-size:.7rem}.learning-path-row p{margin:0;color:var(--content-accent);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.learning-path-row h2{margin:9px 0 0;color:var(--content-ink);font-size:1.15rem;font-weight:700;letter-spacing:-.03em}.learning-path-row div>span{display:block;margin-top:7px;color:var(--content-muted);font-size:.78rem;line-height:1.45}.learning-path-lessons{text-align:center}.learning-path-lessons strong{display:block;color:var(--content-ink);font-family:var(--font-mono);font-size:1.2rem;font-weight:600}.learning-path-lessons span{color:var(--content-faint);font-size:.68rem}.learning-path-links{display:grid;gap:6px}.learning-path-links a{overflow:hidden;color:var(--content-muted);font-size:.78rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.learning-path-links a:hover{color:var(--content-ink)}.learning-path-open{color:var(--content-faint);font-size:.78rem;transition:color .16s ease,transform .16s ease}.learning-path-row:hover .learning-path-open{color:var(--content-accent);transform:translate(3px)}.status-page{display:grid;align-content:center;justify-items:start;min-height:calc(100vh - var(--nav-height));max-width:860px}.status-code{color:var(--content-accent);font-family:var(--font-mono);font-size:clamp(3.5rem,9vw,8rem);font-weight:600;letter-spacing:-.09em;line-height:.82}.status-page .content-kicker{margin-top:38px}.status-page h1{max-width:700px;font-size:clamp(2.3rem,5vw,4.15rem)}.status-page>p:not(.content-kicker){max-width:570px;margin:22px 0 0;color:var(--content-muted);font-size:.98rem;line-height:1.65}.status-page .content-button{margin-top:28px}@media(max-width:880px){.content-page-intro-split{grid-template-columns:1fr;gap:18px}.content-page-intro-split .content-lede{margin:0}.visualizer-start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-path-row{grid-template-columns:30px minmax(0,1fr) 78px 26px;gap:14px}.learning-path-links{display:none}}@media(max-width:620px){.content-page,.status-page{padding:36px 20px 48px}.content-page h1{font-size:clamp(2.35rem,12vw,3.6rem)}.principles-grid,.visualizer-start-grid{grid-template-columns:1fr}.principle-card{min-height:210px}.principle-icon{margin-top:24px}.content-callout{align-items:start;flex-direction:column}.content-callout .content-button{width:100%}.learning-path-row{grid-template-columns:28px minmax(0,1fr) 68px;min-height:150px}.learning-path-open{display:none}.status-page{min-height:calc(100vh - var(--nav-height))}}@media(prefers-reduced-motion:reduce){.content-button,.visualizer-start-card,.learning-path-open{transition:none}}.page-loading{min-height:calc(100vh - var(--nav-height));display:grid;place-content:center;justify-items:center;gap:14px}.page-loading span{width:30px;height:30px;border:2px solid var(--content-line);border-top-color:var(--content-accent);border-radius:50%;animation:page-loader-spin .7s linear infinite}.page-loading p{margin:0;color:var(--content-muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@keyframes page-loader-spin{to{transform:rotate(360deg)}}.catalog-empty{display:grid;min-height:340px;margin-top:52px;padding:44px;place-content:center;justify-items:center;border:1px dashed var(--content-line);color:var(--content-muted);text-align:center}.catalog-empty>svg{color:var(--content-accent);font-size:1.4rem}.catalog-empty h1,.catalog-empty h2{margin:18px 0 0;color:var(--content-ink);font-size:1.45rem;font-weight:700;letter-spacing:-.035em}.catalog-empty p{margin:8px 0 0;color:var(--content-muted);font-size:.86rem}.catalog-empty .content-button{margin-top:24px}.company-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:clamp(46px,7vw,76px);border:1px solid var(--content-line);background:var(--content-line)}.company-card{display:flex;flex-direction:column;min-height:390px;padding:22px;background:var(--bg-dark);color:inherit;text-decoration:none;transition:background-color .16s ease}.company-card:hover{background:var(--content-raised)}.company-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.company-card-mark{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid var(--content-line);border-radius:6px;color:#8dc9b1}.company-type{color:var(--content-faint);font-size:.67rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.company-card h2{margin:28px 0 0;color:var(--content-ink);font-size:1.24rem;font-weight:700;letter-spacing:-.035em}.company-card-section{margin-top:24px}.company-card-section>p{margin:0 0 9px;color:var(--content-faint);font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.company-card-section>div{display:flex;flex-wrap:wrap;gap:5px}.company-card-section>div span{padding:4px 6px;border:1px solid var(--content-line);border-radius:4px;color:var(--content-muted);font-size:.66rem}.company-card-process{margin-top:20px}.company-card-process ol{display:grid;gap:5px;margin:0;padding-left:18px;color:var(--content-muted);font-size:.74rem;line-height:1.45}.company-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:25px;color:var(--content-accent);font-size:.75rem;font-weight:700}.company-card-link svg{font-size:.67rem;transition:transform .16s ease}.company-card:hover .company-card-link svg{transform:translate(3px)}.company-dashboard-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:20px;align-items:center;padding:0 0 32px;border-bottom:1px solid var(--content-line)}.company-dashboard-header h1{margin:12px 0 0;color:var(--content-ink);font-size:clamp(2rem,4vw,3.5rem);font-weight:650;letter-spacing:-.06em;line-height:1}.company-dashboard-header p:not(.content-kicker){margin:11px 0 0;color:var(--content-muted);font-size:.86rem;line-height:1.5}.company-dashboard-summary{padding:0 20px;border-left:1px solid var(--content-line);text-align:center}.company-dashboard-summary strong{display:block;color:var(--content-ink);font-family:var(--font-mono);font-size:1.25rem}.company-dashboard-summary span{color:var(--content-faint);font-size:.66rem;white-space:nowrap}.company-difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;border:1px solid var(--content-line);background:var(--content-line)}.company-difficulty-card{padding:20px;background:var(--bg-dark)}.company-difficulty-card p{margin:0;color:var(--content-faint);font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.company-difficulty-card strong{display:block;margin-top:16px;color:var(--content-ink);font-family:var(--font-mono);font-size:1.6rem;font-weight:600}.company-difficulty-card>span{display:block;margin-top:4px;color:var(--content-muted);font-size:.7rem}.company-difficulty-card i{display:block;height:3px;margin-top:18px;overflow:hidden;background:var(--content-line)}.company-difficulty-card b{display:block;height:100%;background:#8dc9b1}.company-difficulty-medium b{background:var(--content-accent)}.company-difficulty-hard b{background:#d9887d}.company-roadmap{margin-top:36px;padding-top:32px;border-top:1px solid var(--content-line)}.company-roadmap-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.company-roadmap-heading h2{margin:12px 0 0;color:var(--content-ink);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:650;letter-spacing:-.045em}.company-roadmap-heading>svg{color:var(--content-accent);font-size:1.2rem}.company-roadmap>ol{display:grid;gap:0;margin:32px 0 0;padding:0;list-style:none;border-top:1px solid var(--content-line)}.company-roadmap>ol>li{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--content-line)}.company-roadmap-index{color:var(--content-accent);font-family:var(--font-mono);font-size:.7rem}.company-roadmap-topic{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:28px}.company-roadmap-topic>div>p{margin:0;color:var(--content-faint);font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.company-roadmap-topic h3{margin:8px 0 0;color:var(--content-ink);font-size:1.1rem;font-weight:700;letter-spacing:-.025em}.company-problem-list{display:grid;gap:6px}.company-problem-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:38px;padding:0 10px;border:1px solid var(--content-line);color:var(--content-muted);font-size:.76rem;text-decoration:none;transition:border-color .16s ease,color .16s ease,background-color .16s ease}.company-problem-list a:hover{border-color:var(--content-muted);background:var(--content-raised);color:var(--content-ink)}.company-problem-list svg{color:#8dc9b1;font-size:.68rem}.company-problem-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-problem-list em{padding:3px 5px;border-radius:3px;font-size:.6rem;font-style:normal;font-weight:700}.company-problem-easy{background:#79b89a1f;color:#9acdad}.company-problem-medium{background:#e9ad551f;color:#e9b868}.company-problem-hard{background:#d965581f;color:#e08a7f}@media(max-width:900px){.company-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-dashboard-header{grid-template-columns:auto minmax(0,1fr)}.company-dashboard-summary{border-left:0;padding-left:58px;text-align:left}.company-dashboard-header .content-button{justify-self:start}.company-roadmap-topic{grid-template-columns:1fr;gap:18px}}@media(max-width:600px){.company-card-grid,.company-difficulty-grid{grid-template-columns:1fr}.company-dashboard-header{grid-template-columns:auto minmax(0,1fr);gap:14px}.company-dashboard-header .company-dashboard-summary{grid-column:2;padding-left:0;text-align:left}.company-dashboard-header .content-button{grid-column:1 / -1;width:100%}.company-roadmap>ol>li{grid-template-columns:28px 1fr;gap:10px}}.contest-page,.leaderboard-page{max-width:1120px}.contest-intro,.leaderboard-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;padding-bottom:34px;border-bottom:1px solid var(--content-line)}.contest-intro-meta{display:grid;grid-template-columns:repeat(2,minmax(86px,1fr));gap:1px;min-width:300px;border:1px solid var(--content-line);background:var(--content-line)}.contest-intro-meta>div{padding:16px;background:var(--bg-dark)}.contest-intro-meta strong{display:block;color:var(--content-ink);font-family:var(--font-mono);font-size:1.25rem;font-weight:600}.contest-intro-meta span{display:block;margin-top:4px;color:var(--content-faint);font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.contest-intro-meta .content-button{grid-column:1 / -1;border:0;border-top:1px solid var(--content-line);border-radius:0}.contest-sections{margin-top:48px}.contest-section+.contest-section{margin-top:56px}.contest-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--content-line)}.contest-section-heading p{margin:0;color:var(--content-accent);font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.contest-section-heading h2{margin:9px 0 0;color:var(--content-ink);font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:650;letter-spacing:-.045em}.contest-section-heading>span{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--content-line);color:var(--content-muted);font-family:var(--font-mono);font-size:.72rem}.contest-list{display:grid;gap:1px;border:1px solid var(--content-line);border-top:0;background:var(--content-line)}.contest-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;-moz-column-gap:32px;column-gap:32px;padding:24px;background:var(--bg-dark);transition:background-color .16s ease}.contest-card:hover{background:var(--content-raised)}.contest-card:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--content-faint);content:""}.contest-card--live:before{background:#8dc9b1}.contest-card--upcoming:before{background:var(--content-accent)}.contest-card-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.contest-card-overline{margin:0;color:var(--content-faint);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contest-card h3{margin:10px 0 0;color:var(--content-ink);font-size:1.1rem;font-weight:700;letter-spacing:-.025em}.contest-status{flex:0 0 auto;padding:4px 6px;border:1px solid var(--content-line);color:var(--content-muted);font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.contest-status--live{border-color:#8dc9b173;color:#9acdad}.contest-status--upcoming{border-color:#dd8d3273;color:#e9b868}.contest-card-description{grid-column:1 / -1;max-width:700px;margin:13px 0 0;color:var(--content-muted);font-size:.84rem;line-height:1.55}.contest-card-facts{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:17px 30px;margin:23px 0 0}.contest-card-facts div{min-width:110px}.contest-card-facts dt{display:flex;align-items:center;gap:6px;color:var(--content-faint);font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.contest-card-facts dt svg{color:var(--content-accent);font-size:.63rem}.contest-card-facts dd{margin:6px 0 0;color:var(--content-ink);font-family:var(--font-mono);font-size:.74rem}.contest-card-actions{display:flex;grid-column:1 / -1;flex-wrap:wrap;align-items:center;gap:10px;margin-top:24px}.contest-card-actions .content-button{min-height:38px;padding:0 12px;font-size:.72rem}.contest-registration{display:inline-flex;align-items:center;min-height:38px;gap:7px;padding:0 12px;border:1px solid rgba(141,201,177,.32);color:#9acdad;font-size:.72rem;font-weight:700}.contest-registration--muted{border-color:var(--content-line);color:var(--content-muted);font-weight:600}.contest-registration--warning{border-color:#d9655859;color:#e08a7f;font-weight:600}.leaderboard-intro{align-items:end}.leaderboard-summary{display:grid;grid-template-columns:auto auto;align-items:center;-moz-column-gap:11px;column-gap:11px;min-width:224px;padding:17px;border:1px solid var(--content-line)}.leaderboard-summary>svg{grid-row:span 2;color:var(--content-accent);font-size:1.05rem}.leaderboard-summary strong{color:var(--content-ink);font-family:var(--font-mono);font-size:1.3rem;font-weight:600}.leaderboard-summary span{color:var(--content-faint);font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.leaderboard-summary .content-button{grid-column:1 / -1;width:100%;margin-top:15px}.leaderboard-table-wrap{margin-top:48px;overflow-x:auto;border:1px solid var(--content-line)}.leaderboard-table{width:100%;min-width:720px;border-collapse:collapse}.leaderboard-table th{padding:14px 18px;border-bottom:1px solid var(--content-line);color:var(--content-faint);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}.leaderboard-table td{padding:14px 18px;border-bottom:1px solid var(--content-line);color:var(--content-muted);font-family:var(--font-mono);font-size:.77rem;white-space:nowrap}.leaderboard-table tbody tr:last-child td{border-bottom:0}.leaderboard-table tbody tr{transition:background-color .16s ease}.leaderboard-table tbody tr:hover{background:var(--content-raised)}.leaderboard-rank{display:inline-grid;width:26px;height:26px;place-items:center;color:var(--content-muted);font-family:var(--font-mono);font-size:.71rem}.leaderboard-rank svg{color:var(--content-muted);font-size:.73rem}.leaderboard-rank--1 svg{color:#e9b868}.leaderboard-rank--2 svg{color:#b9c0bc}.leaderboard-rank--3 svg{color:#d59373}.leaderboard-user{display:flex;align-items:center;gap:10px;color:var(--content-ink);font-family:var(--font-body);text-decoration:none}.leaderboard-avatar{display:grid;width:30px;height:30px;place-items:center;overflow:hidden;border:1px solid var(--content-line);border-radius:50%;background:var(--content-raised);color:var(--content-muted);font-size:.7rem;font-weight:700}.leaderboard-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.leaderboard-user strong{display:block;font-size:.82rem;font-weight:700}.leaderboard-user em{display:inline-block;margin-top:3px;color:var(--content-accent);font-size:.6rem;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.leaderboard-score{color:#9acdad!important}.leaderboard-action{text-align:right}.leaderboard-login{color:var(--content-accent);font-family:var(--font-body);font-size:.72rem;font-weight:700;text-decoration:none}@media(max-width:760px){.contest-intro,.leaderboard-intro{grid-template-columns:1fr;gap:28px}.contest-intro-meta,.leaderboard-summary{width:100%;min-width:0}.contest-card{padding:20px}.contest-card-heading{display:grid;grid-template-columns:1fr}.contest-status{justify-self:start}.leaderboard-table-wrap{margin-top:36px;margin-right:-20px;margin-left:-20px;border-right:0;border-left:0}.leaderboard-table th,.leaderboard-table td{padding:13px 14px}}@media(prefers-reduced-motion:reduce){.contest-card,.leaderboard-table tbody tr{transition:none}}.community-page,.profile-page,.competition-page{color:var(--text-primary)}.community-page h1,.profile-page h1{background:none!important;color:var(--text-primary)!important;-webkit-text-fill-color:currentColor!important;letter-spacing:-.055em!important}.community-page h2,.community-page h3,.profile-page h2,.profile-page h3{color:var(--text-primary)!important;letter-spacing:-.03em}.community-page [style*=linear-gradient],.profile-page [style*=linear-gradient]{background-image:none!important;background-color:var(--bg-card-dark)!important}.community-page [style*=backdrop-filter],.profile-page [style*=backdrop-filter]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--bg-card-dark)!important;border-color:#f4f3ee1f!important;box-shadow:none!important}.community-page .glass-panel,.profile-page .glass-panel{background:var(--bg-card-dark)!important;border:1px solid rgba(244,243,238,.12)!important;border-radius:8px!important;box-shadow:none!important}.community-page button,.profile-page button{border-radius:6px!important;box-shadow:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important}.community-page button:hover,.profile-page button:hover{transform:translateY(-1px)}.community-page input,.community-page textarea,.community-page select,.profile-page input,.profile-page textarea,.profile-page select{border-color:#f4f3ee26!important;border-radius:6px!important;box-shadow:none!important}.community-page input:focus,.community-page textarea:focus,.community-page select:focus,.profile-page input:focus,.profile-page textarea:focus,.profile-page select:focus{border-color:var(--primary-teal)!important;box-shadow:0 0 0 3px #8dc9b121!important}.community-page .main-content>div,.profile-page .main-content>div{max-width:1200px}.profile-page-loading{display:grid;min-height:calc(100vh - var(--nav-height));place-content:center;color:var(--text-secondary)!important;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.competition-page{--competition-line: rgba(244, 243, 238, .12);--competition-surface: #171c18;--competition-raised: #1d231f;--competition-ink: #f4f3ee;--competition-muted: #a9afa9;--competition-accent: #dd8d32;background:var(--bg-dark)!important;color:var(--competition-ink)!important}[data-theme=light] .competition-page{--competition-line: rgba(24, 32, 27, .14);--competition-surface: #fffef9;--competition-raised: #f4f3ec;--competition-ink: #18201b;--competition-muted: #59645b;--competition-accent: #b8641c}.contest-state-page{min-height:calc(100vh - var(--nav-height));color:var(--competition-muted)!important}.contest-participation-page [class*=bg-gradient-to-br],.contest-participation-page [class*=bg-gray-900],.contest-participation-page [class*="bg-[#171717]"],.contest-participation-page [class*="bg-[#161616]"],.contest-participation-page [class*="bg-black/20"],.contest-participation-page [class*="bg-black/30"]{background:var(--competition-surface)!important}.contest-participation-page [class*=border-white],.contest-participation-page [class*=border-blue],.contest-participation-page [class*=border-yellow]{border-color:var(--competition-line)!important}.contest-participation-page [class*=rounded-2xl]{border-radius:8px!important}.contest-participation-page [class*=rounded-xl]{border-radius:6px!important}.contest-participation-page [class*=text-gray]{color:var(--competition-muted)!important}.contest-participation-page [class*=text-white]{color:var(--competition-ink)!important}.contest-participation-page [class*=bg-teal-500]{background:var(--primary-teal)!important;color:#16201a!important}.contest-participation-page [class*=text-teal]{color:#9acdad!important}.contest-participation-page button,.contest-problem-page button{border-radius:5px!important;box-shadow:none!important}.contest-problem-page>div:first-child{background:var(--competition-surface)!important;border-color:var(--competition-line)!important}.contest-problem-page>div>div[style]{border-color:var(--competition-line)!important}.contest-problem-page select{border-color:var(--competition-line)!important;border-radius:5px!important}@media(max-width:760px){.community-page>div,.profile-page>div{padding-right:16px!important;padding-left:16px!important}}@media(prefers-reduced-motion:reduce){.community-page button,.profile-page button{transition:none!important}}.competition-leaderboard-page{max-width:1120px}.competition-leaderboard-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--content-line)}.competition-back-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;color:var(--content-muted);font-size:.74rem;font-weight:700;text-decoration:none}.competition-back-link:hover{color:var(--content-ink)}.competition-leaderboard-header h1{max-width:670px;margin:12px 0 0;color:var(--content-ink);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:650;letter-spacing:-.055em;line-height:1}.competition-refresh{display:flex;align-items:center;gap:10px;color:var(--content-faint);font-family:var(--font-mono);font-size:.64rem}.competition-refresh span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.competition-refresh-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--content-line);border-radius:5px;background:transparent;color:var(--content-muted);cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease}.competition-refresh-button:hover:not(:disabled){border-color:var(--content-muted);background:var(--content-raised);color:var(--content-ink)}.competition-refresh-button:disabled{cursor:wait;opacity:.7}.competition-refresh-icon--spinning{animation:competition-spin .7s linear infinite}.competition-winners{margin-top:44px;padding-bottom:38px;border-bottom:1px solid var(--content-line)}.competition-winners header h2,.competition-standings header h2{display:flex;align-items:center;gap:9px;margin:10px 0 0;color:var(--content-ink);font-size:1.35rem;font-weight:650;letter-spacing:-.04em}.competition-winners header h2 svg{color:var(--content-accent);font-size:.95rem}.competition-winners>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:22px;border:1px solid var(--content-line);background:var(--content-line)}.competition-winner{min-height:136px;padding:18px;background:var(--bg-dark)}.competition-winner>span{color:var(--content-faint);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.competition-winner h3{margin:28px 0 0;color:var(--content-ink);font-size:1rem;font-weight:700;letter-spacing:-.025em}.competition-winner p{margin:6px 0 0;color:var(--content-muted);font-family:var(--font-mono);font-size:.72rem}.competition-winner--1>span{color:#e9b868}.competition-winner--2>span{color:#b9c0bc}.competition-winner--3>span{color:#d59373}.competition-standings{margin-top:44px}.competition-standings>header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--content-line)}.competition-standings>header>span{display:inline-flex;align-items:center;gap:7px;color:var(--content-muted);font-size:.72rem}.competition-standings>header>span svg{color:var(--content-accent);font-size:.7rem}.competition-standings-table-wrap{overflow-x:auto;border:1px solid var(--content-line);border-top:0}.competition-standings-table{width:100%;min-width:690px;border-collapse:collapse}.competition-standings-table th{padding:14px 18px;border-bottom:1px solid var(--content-line);color:var(--content-faint);font-size:.64rem;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}.competition-standings-table td{padding:14px 18px;border-bottom:1px solid var(--content-line);color:var(--content-muted);font-family:var(--font-mono);font-size:.73rem;white-space:nowrap}.competition-standings-table tbody tr:last-child td{border-bottom:0}.competition-standings-table tbody tr{transition:background-color .16s ease}.competition-standings-table tbody tr:hover{background:var(--content-raised)}.competition-standings-table td a{color:var(--content-ink);font-family:var(--font-body);font-size:.8rem;font-weight:700;text-decoration:none}.competition-standings-table td a:hover{color:var(--content-accent)}.competition-score{color:#9acdad!important}.competition-standings-empty{padding:38px 18px!important;color:var(--content-faint)!important;font-family:var(--font-body)!important;text-align:center}@keyframes competition-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.competition-leaderboard-header{grid-template-columns:1fr;gap:17px}.competition-refresh{justify-content:space-between}.competition-winners>div{grid-template-columns:1fr}.competition-winner{min-height:108px}.competition-winner h3{margin-top:17px}.competition-standings-table-wrap{margin-right:-20px;margin-left:-20px;border-right:0;border-left:0}}@media(prefers-reduced-motion:reduce){.competition-refresh-icon--spinning{animation:none}.competition-standings-table tbody tr{transition:none}}.home-page{--home-ink: #f4f3ee;--home-muted: #a9afa9;--home-faint: #747a74;--home-line: rgba(244, 243, 238, .13);--home-surface: #171b18;--home-surface-raised: #1d231f;--home-accent: #dd8d32;--home-accent-soft: rgba(221, 141, 50, .15);--home-teal: #8dc9b1;max-width:1280px;margin:0 auto;padding:clamp(36px,7vw,96px) clamp(20px,4vw,48px) 72px;color:var(--home-ink)}[data-theme=light] .home-page{--home-ink: #18201b;--home-muted: #59645b;--home-faint: #7a837a;--home-line: rgba(24, 32, 27, .14);--home-surface: #f2f0e8;--home-surface-raised: #fbfaf5;--home-accent: #b8641c;--home-accent-soft: rgba(184, 100, 28, .12);--home-teal: #22705d}.home-intro{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(360px,.87fr);align-items:center;gap:clamp(48px,8vw,120px);min-height:min(650px,calc(100vh - var(--nav-height) - 48px));padding:36px 0 64px}.home-eyebrow,.home-kicker{margin:0;color:var(--home-faint);font-size:.72rem;font-weight:700;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}.home-eyebrow span{color:var(--home-accent)}.home-intro h1,.home-section-heading h2,.home-practice h2,.home-closing h2{margin:16px 0 0;color:var(--home-ink);font-size:clamp(2.85rem,5.3vw,5.35rem);font-weight:650;letter-spacing:-.065em;line-height:.98}.home-lede{max-width:580px;margin:28px 0 0;color:var(--home-muted);font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.7}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.home-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:8px;font-size:.92rem;font-weight:700;line-height:1;text-decoration:none!important;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.home-button svg{font-size:.8rem;transition:transform .16s ease}.home-button:hover{transform:translateY(-1px)}.home-button:hover svg{transform:translate(2px)}.home-button:active{transform:translateY(0)}.home-button-primary{background:var(--home-accent, #F97316);border-color:var(--home-accent, #F97316);color:#fff!important;box-shadow:0 4px 14px #f9731659}.home-button-primary:hover{background:#ea6b0a;border-color:#ea6b0a;color:#fff!important}.home-button-quiet{border-color:var(--home-line);color:var(--home-ink)!important;background:transparent}.home-button-quiet:hover{border-color:var(--home-muted);background:#f4f3ee14;color:var(--home-ink)!important}.home-button-dark{background:#141c16;border-color:#141c16;color:#fff!important;box-shadow:0 4px 16px #00000040}.home-button-dark svg{color:#f97316}.home-button-dark:hover{background:#090e0a;border-color:#090e0a;color:#fff!important;box-shadow:0 6px 20px #00000059}[data-theme=light] .home-button-dark{background:#141c16;border-color:#141c16;color:#fff!important}[data-theme=light] .home-button-dark:hover{background:#000;border-color:#000;color:#fff!important}.home-proof-points{display:flex;gap:40px;margin:56px 0 0}.home-proof-points div{min-width:118px}.home-proof-points dt{color:var(--home-ink);font-size:1rem;font-weight:700;letter-spacing:-.02em}.home-proof-points dd{margin:5px 0 0;color:var(--home-faint);font-size:.77rem;line-height:1.4}.study-preview{position:relative;width:100%;max-width:460px;justify-self:end;padding:28px;overflow:hidden;border:1px solid var(--home-line);border-radius:10px;background:var(--home-surface);box-shadow:0 22px 55px #00000029}.study-preview:before{position:absolute;top:0;left:28px;width:52px;height:3px;background:var(--home-accent);content:""}.study-preview-header,.study-preview-footer,.community-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.study-preview-header p{margin:0;color:var(--home-faint);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.study-preview-header h2{margin:6px 0 0;color:var(--home-ink);font-size:1.55rem;font-weight:650;letter-spacing:-.045em}.study-preview-state{display:inline-flex;align-items:center;gap:7px;color:var(--home-teal);font-size:.72rem;font-weight:700;white-space:nowrap}.study-preview-state span{width:7px;height:7px;border-radius:999px;background:currentColor}.study-sequence{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;gap:9px;height:190px;margin:42px 0 28px;padding:16px 0 0;border-bottom:1px solid var(--home-line)}.study-bar{position:relative;display:flex;align-items:flex-start;justify-content:center;min-width:0;border-radius:4px 4px 0 0;background:#4f5b53;color:#faf8ef;font-family:var(--font-mono);font-size:.73rem;font-weight:700}.study-bar span{padding-top:8px}.study-bar-1{height:70%}.study-bar-2{height:27%;background:var(--home-accent);color:#191914}.study-bar-3{height:57%;background:#759985}.study-bar-4{height:38%}.study-bar-5{height:100%;background:#8a968d}.study-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.study-note-marker{color:var(--home-accent);font-family:var(--font-mono);font-size:.73rem;font-weight:700}.study-note p{margin:0;color:var(--home-muted);font-size:.86rem;line-height:1.55}.study-note strong{color:var(--home-ink);font-weight:650}.study-preview-footer{margin-top:28px;padding-top:16px;border-top:1px solid var(--home-line);color:var(--home-faint);font-family:var(--font-mono);font-size:.7rem}.study-preview-footer strong{color:var(--home-ink)}.study-preview-footer a,.home-inline-link{display:inline-flex;align-items:center;gap:7px;color:var(--home-accent);font-family:var(--font-body);font-size:.8rem;font-weight:700;text-decoration:none}.study-preview-footer a svg,.home-inline-link svg{font-size:.68rem;transition:transform .16s ease}.study-preview-footer a:hover svg,.home-inline-link:hover svg{transform:translate(2px)}.home-paths,.home-library,.home-community{padding:clamp(64px,9vw,120px) 0;border-top:1px solid var(--home-line)}.home-section-heading{max-width:630px}.home-section-heading h2,.home-practice h2,.home-closing h2{font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.02}.home-section-heading>p:last-child,.home-practice-copy>p:not(.home-kicker){margin:18px 0 0;color:var(--home-muted);font-size:.98rem;line-height:1.7}.home-section-heading-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);align-items:end;max-width:none;gap:32px}.home-section-heading-inline>p{margin:0 0 4px;color:var(--home-muted);font-size:.94rem;line-height:1.65}.home-section-heading-inline .home-inline-link{justify-self:end;margin-bottom:9px}.path-list{margin-top:44px;border-top:1px solid var(--home-line)}.path-row{display:grid;grid-template-columns:42px 42px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:114px;border-bottom:1px solid var(--home-line);color:inherit;text-decoration:none;transition:padding .16s ease,background-color .16s ease}.path-row:hover{padding-inline:12px;background:#f4f3ee06}.path-row:hover .path-arrow{color:var(--home-accent);transform:translate(4px)}.path-index{color:var(--home-faint);font-family:var(--font-mono);font-size:.72rem}.path-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--home-line);border-radius:6px;color:var(--home-teal);font-size:.92rem}.path-copy{display:grid;gap:5px}.path-copy strong{color:var(--home-ink);font-size:1rem;font-weight:700}.path-copy small{color:var(--home-muted);font-size:.86rem;line-height:1.45}.path-arrow{color:var(--home-faint);font-size:.82rem;transition:color .16s ease,transform .16s ease}.algorithm-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:44px;border:1px solid var(--home-line);background:var(--home-line)}.algorithm-shelf-item{display:flex;flex-direction:column;min-height:274px;padding:22px;background:var(--bg-dark);color:inherit;text-decoration:none;transition:background-color .18s ease}.algorithm-shelf-item:hover{background:var(--home-surface-raised)}.algorithm-shelf-number{color:var(--home-accent);font-family:var(--font-mono);font-size:.75rem;font-weight:700}.algorithm-shelf-meta{margin-top:28px;color:var(--home-faint);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.algorithm-shelf-item h3{margin:9px 0 0;color:var(--home-ink);font-size:1.22rem;font-weight:650;letter-spacing:-.03em}.algorithm-shelf-item p{margin:10px 0 0;color:var(--home-muted);font-size:.84rem;line-height:1.55}.algorithm-shelf-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:26px;color:var(--home-ink);font-size:.78rem;font-weight:700}.algorithm-shelf-link svg{color:var(--home-accent);font-size:.65rem}.home-library>.home-inline-link{margin-top:28px}.home-practice{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(40px,8vw,112px);align-items:center;margin-inline:calc(clamp(20px,4vw,48px)*-1);padding:clamp(60px,8vw,104px) clamp(20px,4vw,48px);background:#d9ded2;color:#1a241d}[data-theme=light] .home-practice{background:#d9ded2}.home-practice .home-kicker{color:#516156}.home-practice h2{color:#17211a}.home-practice-copy>p:not(.home-kicker){color:#526057;max-width:580px}.home-practice-copy .home-button{margin-top:30px}.practice-checklist{border-top:1px solid rgba(23,33,26,.18)}.practice-checklist>div{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid rgba(23,33,26,.18)}.practice-checklist>div>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#8dc9b1;color:#183220;font-size:.62rem}.practice-checklist p{margin:0}.practice-checklist strong{display:block;color:#1d2920;font-size:.91rem;font-weight:750}.practice-checklist small{display:block;margin-top:4px;color:#526057;font-size:.8rem;line-height:1.5}.community-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.85fr) minmax(240px,.85fr);grid-template-areas:"activity daily people" "activity ranking people";gap:14px;margin-top:40px}.community-panel{padding:20px;border:1px solid var(--home-line);background:var(--home-surface)}.community-activity{grid-area:activity}.community-daily{grid-area:daily}.community-people{grid-area:people}.community-ranking{grid-area:ranking}.community-panel-heading h3{margin:0;color:var(--home-ink);font-size:.92rem;font-weight:700;letter-spacing:-.01em}.community-panel-heading>span,.community-panel-heading>svg,.community-panel-heading>a{color:var(--home-faint);font-size:.72rem;font-weight:700;text-decoration:none}.community-panel-heading>a{color:var(--home-accent)}.community-empty{margin:26px 0 0;color:var(--home-muted);font-size:.84rem;line-height:1.6}.activity-list,.people-list,.ranking-list{margin:18px 0 0;padding:0;list-style:none}.activity-list{display:grid;gap:3px}.activity-list li a{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:start;padding:12px 0;color:inherit;text-decoration:none;border-bottom:1px solid var(--home-line)}.activity-list li:last-child a{border-bottom:0}.activity-dot{width:6px;height:6px;margin-top:6px;border-radius:999px;background:var(--home-teal)}.activity-list strong,.people-list strong{display:block;color:var(--home-ink);font-size:.82rem;font-weight:650;line-height:1.45}.activity-list small,.people-list small{display:block;margin-top:4px;color:var(--home-faint);font-size:.72rem}.daily-challenge-title{display:block;margin-top:36px;color:var(--home-ink);font-size:1.1rem;font-weight:650;letter-spacing:-.035em;line-height:1.25;text-decoration:none}.daily-challenge-title:hover{color:var(--home-accent)}.daily-challenge-meta{margin:9px 0 0;color:var(--home-muted);font-size:.78rem}.daily-avatars{display:flex;margin-top:22px}.daily-avatars span,.person-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--home-surface);border-radius:999px;background:#567967;color:#f7f6ee;font-size:.68rem;font-weight:700}.daily-avatars span+span{margin-left:-7px}.people-list{display:grid;gap:12px}.people-list li{display:flex;align-items:center;justify-content:space-between;gap:8px}.people-list li>a{display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;align-items:center;min-width:0;color:inherit;text-decoration:none}.people-list .person-avatar{border:0;background:#40594c}.people-list li>div{flex-shrink:0}.ranking-list{counter-reset:ranks}.ranking-list li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 0;color:var(--home-faint);font-size:.77rem}.ranking-list li>span{color:var(--home-accent);font-family:var(--font-mono);font-size:.68rem}.ranking-list a{overflow:hidden;color:var(--home-ink);font-weight:650;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ranking-list strong{color:var(--home-muted);font-family:var(--font-mono);font-size:.7rem;font-weight:600}.home-closing{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:clamp(56px,8vw,96px) 0 8px;border-top:1px solid var(--home-line)}.home-closing h2{max-width:760px}.home-closing .home-button{flex-shrink:0}@media(max-width:1024px){.home-intro{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:48px}.algorithm-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.community-grid{grid-template-columns:1fr 1fr;grid-template-areas:"activity activity" "daily people" "ranking people"}}@media(max-width:760px){.home-page{padding-bottom:48px}.home-intro{grid-template-columns:1fr;min-height:auto;padding-top:20px}.study-preview{justify-self:stretch;max-width:none}.home-section-heading-inline,.home-practice,.home-closing{grid-template-columns:1fr}.home-section-heading-inline .home-inline-link{justify-self:start;margin-bottom:0}.home-practice{margin-inline:-20px;padding-inline:20px}.home-closing{align-items:start}}@media(max-width:560px){.home-intro h1{font-size:clamp(2.55rem,13vw,3.6rem)}.home-proof-points{gap:22px;margin-top:38px}.home-proof-points div{min-width:0}.study-preview{padding:20px}.study-preview:before{left:20px}.study-sequence{height:156px;margin-top:32px}.path-row{grid-template-columns:30px 36px minmax(0,1fr);gap:12px;min-height:126px}.path-arrow{display:none}.path-icon{width:34px;height:34px}.algorithm-shelf{grid-template-columns:1fr}.algorithm-shelf-item{min-height:224px}.algorithm-shelf-meta{margin-top:20px}.community-grid{grid-template-columns:1fr;grid-template-areas:"activity" "daily" "people" "ranking"}.home-closing .home-button{width:100%}}@media(prefers-reduced-motion:reduce){.home-button,.home-button svg,.path-row,.path-arrow,.study-preview-footer a svg,.home-inline-link svg{transition:none}}.foundations-page{max-width:1280px;margin:0 auto;padding:clamp(36px,6vw,80px) clamp(20px,4vw,48px) 80px;color:#f4f3ee}.foundations-hero{display:flex;justify-content:space-between;gap:40px;border-bottom:1px solid rgba(244,243,238,.13);padding-bottom:54px}.foundations-kicker,.foundations-label{margin:0;color:#dd8d32;font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.foundations-hero h1{margin:15px 0 0;font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.07em;line-height:.98}.foundations-lede{max-width:650px;margin:22px 0 0;color:#a9afa9;line-height:1.7}.foundations-progress{min-width:230px;align-self:end}.foundations-progress span,.foundations-progress small{display:block;color:#747a74;font-size:.67rem;letter-spacing:.08em}.foundations-progress strong{display:block;margin:10px 0;color:#f4f3ee;font-size:1.6rem}.foundations-progress div{height:5px;background:#28302a}.foundations-progress i{display:block;height:100%;background:#dd8d32}.foundations-progress small{margin-top:10px;letter-spacing:0}.foundations-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px;margin-top:45px}.foundation-level{margin:20px 0 28px}.foundation-level h2{margin:0 0 8px;color:#747a74;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.foundations-topics button{display:block;width:100%;padding:7px 0;border:0;background:none;color:#a9afa9;text-align:left;font-size:.82rem;cursor:pointer}.foundations-topics button span{display:inline-block;width:24px;color:#dd8d32}.foundations-topics button:hover,.foundations-topics button.active{color:#f4f3ee}.foundation-workspace{min-width:0}.foundation-workspace-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(244,243,238,.13);padding-bottom:18px}.foundation-workspace-head h2{margin:7px 0 0;font-size:2rem;letter-spacing:-.04em}.foundation-workspace-head>span{color:#747a74;font-family:var(--font-mono);font-size:.75rem}.foundation-stages{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin:22px 0 28px}.foundation-stages button{min-height:68px;border:1px solid rgba(244,243,238,.1);background:#171c18;color:#747a74;font-size:.68rem;cursor:pointer}.foundation-stages button span{display:block;margin-bottom:7px;color:#747a74;font-family:var(--font-mono)}.foundation-stages button.active{border-color:#dd8d32;color:#f4f3ee}.foundation-stages button.active span,.foundation-stages button.done span{color:#dd8d32}.foundation-card{min-height:370px;padding:clamp(26px,5vw,52px);background:#171c18;border:1px solid rgba(244,243,238,.13)}.foundation-card h3{margin:16px 0 0;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.05em}.foundation-card>p:not(.foundations-label){max-width:620px;color:#a9afa9;line-height:1.65}.foundation-visual{display:flex;align-items:center;gap:18px;margin-top:35px;padding:24px;border:1px dashed rgba(221,141,50,.45);background:#1d231f;color:#dd8d32;font-family:var(--font-mono);font-size:1.4rem}.foundation-visual-large{min-height:130px;flex-direction:column;align-items:flex-start}.foundation-visual small{color:#747a74;font-family:inherit;font-size:.7rem}.foundation-card pre{margin:28px 0;padding:20px;overflow:auto;background:#101411;color:#d7d9c9;font-family:var(--font-mono);line-height:1.7}.foundation-options button,.foundation-button,.foundation-next{display:inline-flex;align-items:center;gap:9px;border:1px solid #dd8d32;padding:11px 15px;background:#dd8d32;color:#1a1914;font-weight:700;cursor:pointer;text-decoration:none}.foundation-feedback{color:#8dc9b1!important}.trace-steps,.analysis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:30px}.trace-steps span,.analysis-grid span{padding:18px;background:#1d231f;color:#a9afa9;font-size:.75rem}.analysis-grid strong{display:block;margin-top:12px;color:#f4f3ee}.foundation-next{margin-top:14px;background:transparent;color:#dd8d32}.foundation-next:hover{background:#dd8d32;color:#1a1914}@media(max-width:850px){.foundations-hero{display:block}.foundations-progress{margin-top:35px}.foundations-layout{grid-template-columns:1fr}.foundation-stages{overflow:auto}.foundation-stages button{min-width:90px}.foundation-card{min-height:0}.trace-steps,.analysis-grid{grid-template-columns:repeat(2,1fr)}}.foundations-page{background:#101411!important;color:#f4f3ee!important;isolation:isolate}.foundations-page *{box-sizing:border-box}.foundation-card{animation:foundation-enter .26s ease both}.foundation-controls{display:flex;align-items:center;gap:18px}.foundation-skip{border:0;background:transparent;color:#a9afa9;cursor:pointer;font-size:.78rem}.foundation-skip:hover{color:#f4f3ee}.foundation-feedback{margin-top:22px!important;line-height:1.7}.visualize-button{margin-top:18px}.foundation-visual.is-playing strong{animation:visual-pulse .95s ease-in-out infinite alternate;color:#8dc9b1}@keyframes foundation-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes visual-pulse{0%{transform:translate(0);opacity:.65}to{transform:translate(24px);opacity:1}}.topic-helper{margin:9px 0 18px;color:#a9afa9;font-size:.78rem;line-height:1.55}.foundations-kicker{display:flex;flex-wrap:wrap;gap:8px}.foundation-card p{font-size:.92rem}.foundation-card h3{max-width:720px}.algo-page-container{--algo-ink: #f4f3ee;--algo-muted: #a9afa9;--algo-faint: #747a74;--algo-line: rgba(244, 243, 238, .13);--algo-surface: #171c18;--algo-surface-raised: #1d231f;--algo-accent: #dd8d32;max-width:1360px;margin:0 auto;padding:clamp(36px,6vw,76px) clamp(20px,4vw,48px) 72px;color:var(--algo-ink)}[data-theme=light] .algo-page-container{--algo-ink: #18201b;--algo-muted: #59645b;--algo-faint: #7a837a;--algo-line: rgba(24, 32, 27, .14);--algo-surface: #fffef9;--algo-surface-raised: #f4f3ec;--algo-accent: #b8641c}.algo-page-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.58fr);align-items:end;gap:32px;padding:0 0 clamp(40px,6vw,64px);border-bottom:1px solid var(--algo-line)}.algo-header-tag{display:inline-block;color:var(--algo-accent);font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.algo-page-title{max-width:770px;margin:15px 0 0;color:var(--algo-ink);font-size:clamp(2.65rem,5vw,4.6rem);font-weight:650;letter-spacing:-.065em;line-height:.98}.algo-page-subtitle{max-width:460px;margin:0;color:var(--algo-muted);font-size:.98rem;line-height:1.68}.algo-stats-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:24px;border-top:1px solid var(--algo-line)}.algo-stat-card{padding:0 20px;border-left:1px solid var(--algo-line)}.algo-stat-card:first-child{padding-left:0;border-left:0}.algo-stat-value{display:block;color:var(--algo-ink);font-family:var(--font-mono);font-size:1.16rem;font-weight:600}.algo-stat-label{display:block;margin-top:6px;color:var(--algo-faint);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.algo-toolbar{margin-top:34px;padding:18px 0 24px;border-bottom:1px solid var(--algo-line)}.algo-filter-grid{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(150px,.55fr) minmax(280px,1.4fr);gap:14px}.algo-filter-group{display:grid;gap:7px}.algo-search-group{grid-column:auto}.algo-filter-label{color:var(--algo-faint);font-size:.68rem;font-weight:700;letter-spacing:.095em;text-transform:uppercase}.algo-filter-control{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--algo-line);border-radius:6px;outline:none;background:var(--algo-surface);color:var(--algo-ink);font-size:.84rem;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.algo-filter-control:focus{border-color:#8dc9b1;box-shadow:0 0 0 3px #8dc9b11f}.algo-filter-control option{background:var(--algo-surface);color:var(--algo-ink)}.algo-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(282px,1fr));gap:0;margin-top:32px;border:1px solid var(--algo-line);background:var(--algo-line)}.algo-card-item{display:flex;flex-direction:column;min-height:345px;overflow:hidden;background:var(--bg-dark);transition:background-color .16s ease}.algo-card-item:hover{background:var(--algo-surface-raised)}.algo-card-topline{width:100%;height:3px;opacity:.8}.algo-card-content{display:flex;flex:1;flex-direction:column;padding:20px}.algo-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.algo-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.035em;white-space:nowrap}.algo-category-chip{max-width:62%;overflow:hidden;text-overflow:ellipsis}.algo-difficulty-beginner{background:#79b89a1c;border-color:#79b89a4d;color:#9acdad}.algo-difficulty-intermediate{background:#e9ad551c;border-color:#e9ad554d;color:#e9b868}.algo-difficulty-advanced{background:#d965581c;border-color:#d965584d;color:#e08a7f}.algo-card-title{margin:25px 0 0;color:var(--algo-ink);font-size:1.22rem;font-weight:700;letter-spacing:-.035em;line-height:1.2}.algo-card-description{min-height:64px;margin:10px 0 0;color:var(--algo-muted);font-size:.82rem;line-height:1.56}.algo-input-limit{margin-top:16px;color:var(--algo-faint);font-family:var(--font-mono);font-size:.66rem}.algo-complexity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:17px;border-top:1px solid var(--algo-line);border-left:1px solid var(--algo-line)}.algo-complexity-cell{min-width:0;padding:8px;border-right:1px solid var(--algo-line);border-bottom:1px solid var(--algo-line)}.algo-complexity-label{display:block;color:var(--algo-faint);font-size:.61rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.algo-complexity-value{display:block;margin-top:3px;overflow:hidden;color:var(--algo-ink);font-family:var(--font-mono);font-size:.68rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.algo-open-link{display:inline-flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px;color:var(--algo-ink);font-size:.78rem;font-weight:700;text-decoration:none}.algo-open-link:after{color:var(--algo-accent);content:"→";transition:transform .16s ease}.algo-open-link:hover{color:var(--algo-accent)}.algo-open-link:hover:after{transform:translate(3px)}.algo-empty-state{margin-top:28px;padding:30px;border:1px dashed var(--algo-line);color:var(--algo-muted);font-size:.9rem;text-align:center}[data-theme=light] .algo-card-item{background:var(--bg-dark)}[data-theme=light] .algo-difficulty-beginner{color:#2f7650}[data-theme=light] .algo-difficulty-intermediate{color:#9a5c16}[data-theme=light] .algo-difficulty-advanced{color:#a4473d}@media(max-width:780px){.algo-page-header{grid-template-columns:1fr;gap:20px}.algo-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 0}.algo-stat-card:nth-child(3){padding-left:0;border-left:0}.algo-filter-grid{grid-template-columns:1fr 1fr}.algo-search-group{grid-column:1 / -1}}@media(max-width:520px){.algo-page-container{padding-bottom:48px}.algo-stats-grid{gap:20px 0}.algo-stat-card{padding:0 12px}.algo-filter-grid{grid-template-columns:1fr}.algo-search-group{grid-column:auto}.algo-cards-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.algo-filter-control,.algo-card-item,.algo-open-link:after{transition:none}}.visualizer-ui{--visualizer-ink: #f4f3ee;--visualizer-muted: #a9afa9;--visualizer-faint: #747a74;--visualizer-line: rgba(244, 243, 238, .12);--visualizer-surface: #171c18;--visualizer-raised: #1d231f;--visualizer-accent: #dd8d32;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:16px!important;min-height:calc(100vh - var(--nav-height) - 32px)!important;padding:20px clamp(16px,2.5vw,32px)!important;overflow:visible!important}[data-theme=light] .visualizer-ui{--visualizer-ink: #18201b;--visualizer-muted: #59645b;--visualizer-faint: #7a837a;--visualizer-line: rgba(24, 32, 27, .14);--visualizer-surface: #fffef9;--visualizer-raised: #f4f3ec;--visualizer-accent: #b8641c}.visualizer-stage-column,.visualizer-code-column{min-width:0}.visualizer-stage{display:flex;min-height:min(720px,calc(100vh - var(--nav-height) - 40px));flex-direction:column;overflow:hidden;border:1px solid var(--visualizer-line);background:var(--visualizer-surface)}.visualizer-stage-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid var(--visualizer-line)}.visualizer-stage-header>div{flex:1}.visualizer-stage-header p,.visualizer-code-header>p{margin:0;color:var(--visualizer-accent);font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.visualizer-stage-header h1{margin:7px 0 0;color:var(--visualizer-ink);font-size:clamp(1.22rem,2.2vw,1.65rem);font-weight:700;letter-spacing:-.04em}.fs-toggle-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--visualizer-line);color:var(--visualizer-muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .2s ease}.fs-toggle-btn:hover{background:var(--visualizer-raised);color:var(--visualizer-ink)}.visualizer-stage-column.fullscreen-mode{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99999;background:var(--visualizer-surface)}.visualizer-stage-column.fullscreen-mode .visualizer-stage{min-height:100vh;border:none;border-radius:0}.visualizer-step-summary{min-height:48px;margin:0 16px;padding:11px 16px;border:1px solid rgba(56,189,248,.22);border-radius:12px;background:#0ea5e912;color:var(--visualizer-muted);font-size:.82rem;line-height:1.45}.visualizer-step-summary>div{display:flex!important;align-items:center;gap:12px!important;flex-wrap:wrap}.visualizer-step-summary>p{margin:0;color:var(--visualizer-ink);font-size:.9rem;font-weight:650}.visualizer-step-summary span{border-radius:4px!important;box-shadow:none!important}.visualizer-canvas{display:flex;min-height:0;flex:1;flex-direction:column;padding:16px}.visualizer-canvas>*{min-height:0}.visualizer-code-panel{display:flex;height:100%;min-height:min(720px,calc(100vh - var(--nav-height) - 40px));flex-direction:column;overflow:hidden;border:1px solid var(--visualizer-line);background:var(--visualizer-surface)}.visualizer-code-header{display:grid;gap:13px;padding:17px;border-bottom:1px solid var(--visualizer-line)}.visualizer-language-tabs{display:flex;gap:4px;overflow-x:auto}.visualizer-language-tabs button{min-height:31px;padding:0 9px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--visualizer-faint);cursor:pointer;font-family:var(--font-mono);font-size:.65rem;font-weight:700;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.visualizer-language-tabs button:hover{background:var(--visualizer-raised);color:var(--visualizer-ink)}.visualizer-language-tabs button.is-active{border-color:var(--visualizer-line);background:var(--visualizer-raised);color:var(--visualizer-ink)}.visualizer-code-scroll{flex:1;overflow:auto;padding:13px 0;background:#101511;outline:none}[data-theme=light] .visualizer-code-scroll{background:#eff0ea}.visualizer-code-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--visualizer-accent)}.visualizer-code-line{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;min-height:22px;padding:2px 16px 2px 10px;color:#c1c9c2;font-family:var(--font-mono);font-size:.71rem;line-height:1.55}[data-theme=light] .visualizer-code-line{color:#304037}.visualizer-code-line>span{color:#717a72;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.visualizer-code-line code{overflow-wrap:anywhere;white-space:pre-wrap}.visualizer-code-line.is-active{border-left:2px solid var(--visualizer-accent);background:#dd8d321f;color:#f4f3ee}[data-theme=light] .visualizer-code-line.is-active{color:#18201b}.visualizer-ui .cs-education-panel{display:none!important}.visualizer-ui .glass-panel{border-radius:0!important;box-shadow:none!important}@media(max-width:980px){.visualizer-ui{grid-template-columns:1fr;min-height:0!important;padding:12px 16px!important}.visualizer-stage,.visualizer-code-panel{min-height:0}.visualizer-stage{min-height:530px}.visualizer-code-panel{min-height:360px}}@media(max-width:640px){.visualizer-ui{padding:8px 12px!important;gap:12px!important}.visualizer-stage{min-height:465px}.visualizer-stage-header{padding:17px 16px 13px}.visualizer-step-summary{min-height:0;margin:0 12px;padding:11px 14px}.visualizer-canvas{padding:12px;overflow:auto}.visualizer-code-panel{min-height:315px}.visualizer-code-header{padding:14px}}@media(prefers-reduced-motion:reduce){.visualizer-language-tabs button{transition:none}}.yt-player-controls{display:flex;flex-direction:column;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:16px;padding:14px 18px;box-shadow:var(--surface-shadow);width:100%;color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.yt-progress-container{width:100%;padding:6px 0 10px;display:flex;align-items:center}.yt-scrubber-input{width:100%;height:5px;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:height .15s ease}.yt-scrubber-input:hover{height:8px}.yt-scrubber-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:red;cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 0 8px #f009}.yt-scrubber-input:hover::-webkit-slider-thumb{transform:scale(1.35);box-shadow:0 0 12px #ff0000d9}.yt-controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:4px}.yt-left-controls{display:flex;align-items:center;gap:6px}.yt-right-controls{display:flex;align-items:center;gap:10px}.yt-btn{background:transparent;border:none;color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:transform .15s ease,background .15s ease,color .15s ease}.yt-btn:hover:not(:disabled){background:#ffffff1f}[data-theme=light] .yt-btn:hover:not(:disabled){background:#00000014}.yt-btn:disabled{opacity:.35;cursor:not-allowed}.yt-icon-btn{width:38px;height:38px;font-size:1.45rem}.yt-icon-btn.with-text{width:auto;padding:0 12px;border-radius:20px;gap:6px;font-size:1.25rem}.yt-btn-text{font-size:.8rem;font-weight:700;font-family:Roboto,Inter,sans-serif;letter-spacing:.03em}.yt-play-btn{width:44px;height:44px;font-size:1.85rem;color:var(--text-primary)}.yt-play-btn:hover:not(:disabled){transform:scale(1.12);color:red}.yt-play-btn.playing{color:red}.yt-time-display{display:flex;align-items:center;gap:4px;font-family:Roboto,Fira Code,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-left:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.yt-step-current{color:var(--text-primary);font-weight:700}.yt-step-divider,.yt-step-total{color:var(--text-muted)}.yt-speed-menu{display:flex;align-items:center;gap:2px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:20px;padding:3px 6px;transition:background .25s ease,border-color .25s ease}.yt-speed-label{display:flex;align-items:center;justify-content:center;padding:0 4px;color:var(--text-muted);font-size:.78rem}.yt-speed-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px 10px;border-radius:14px;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.yt-speed-btn.active{background:red;color:#fff}.yt-speed-btn:hover:not(.active){color:var(--text-primary);background:var(--surface-bg-raised)}.yt-input-config{width:100%}.yt-manual-input-box{display:flex;gap:10px;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid var(--surface-border);transition:border-color .25s ease}.yt-text-input{flex:1;height:40px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);color:var(--algo-input-text);padding:0 14px;border-radius:10px;font-size:.88rem;font-weight:600;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease,background .2s ease}.yt-text-input:focus{border-color:red;box-shadow:0 0 0 2px #ff000026}.yt-btn-row{display:flex;gap:8px;align-items:center}.yt-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;border-radius:10px;font-size:.83rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}.yt-action-btn:hover{transform:translateY(-1px)}.yt-action-btn.primary{background:red;color:#fff;border:none;box-shadow:0 3px 10px #ff00004d}.yt-action-btn.primary:hover{background:#c00;box-shadow:0 5px 14px #ff000073}.yt-action-btn.secondary{background:var(--surface-bg);border-color:var(--surface-border);color:var(--text-primary)}.yt-action-btn.secondary:hover{background:var(--surface-bg-raised);border-color:red;color:red}.yt-action-btn.full{width:100%}.yt-modal-btn-wrapper{display:flex;justify-content:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--surface-border)}.yt-help-hint{font-size:.76rem;color:var(--text-muted);margin-top:6px;font-weight:500}@media(max-width:768px){.yt-controls-bar{flex-direction:column;align-items:stretch;gap:10px}.yt-left-controls{justify-content:space-between}.yt-right-controls{justify-content:center}.yt-manual-input-box{flex-direction:column;align-items:stretch}.yt-btn-row{width:100%}.yt-action-btn{flex:1}}.bubble-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.bubble-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.bubble-input-group{display:flex;align-items:center;gap:.5rem}.bubble-input-group label{font-weight:600;color:var(--text-secondary)}.bubble-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:280px;transition:all .2s}.bubble-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.bubble-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:#ffffff0d;border-color:var(--primary)}.bubble-visual-workspace{background:var(--surface);border-radius:12px;padding:2.5rem 1.5rem;border:1px solid var(--border-color);flex:1;display:flex;justify-content:center;align-items:center;overflow-x:auto}.bubble-main-display{display:flex;flex-direction:column;align-items:center;width:100%}.bubble-arrays-wrapper{display:flex;gap:15px;align-items:center;justify-content:center;min-height:150px}.bubble-item-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;width:55px}.bubble-status-label{position:absolute;top:-35px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--bg-color);padding:3px 6px;border-radius:4px;border:1px solid var(--border-color);z-index:10}.lbl-compare{color:#ca8a04;border-color:#eab308;background:#fefce8}.lbl-swap{color:#dc2626;border-color:#ef4444;background:#fef2f2}.lbl-noswap{color:#2563eb;border-color:#3b82f6;background:#eff6ff}.lbl-sorted{color:#16a34a;border-color:#22c55e;background:#f0fdf4}.bubble-box{width:55px;height:55px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.2rem;color:var(--text-primary);transition:background-color .3s,border-color .3s,opacity .3s,transform .5s ease-in-out;position:relative;z-index:5}.bubble-idx{font-size:.8rem;color:var(--text-secondary)}.compare-box{border-color:#eab308;background:#eab30833;color:#ca8a04;box-shadow:0 0 15px #eab3084d;z-index:8}.noswap-box{border-color:#3b82f6;background:#3b82f61a;color:#3b82f6}.swap-box{border-color:#ef4444;background:#ef444433;color:#dc2626;box-shadow:0 0 20px #ef444480;z-index:9}.new-sorted-box{border-color:#22c55e;background:#22c55e4d;color:#16a34a;box-shadow:0 0 15px #22c55e66;z-index:7}.sorted-box{border-color:#22c55e;background:#22c55e1a;color:#22c55e}.bubble-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.bubble-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.ins-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.ins-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ins-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.ins-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.ins-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.ins-input-group{display:flex;align-items:center;gap:8px}.ins-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ins-text-input{width:180px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.ins-text-input:focus{border-color:#38bdf8}.ins-btn-group{display:flex;align-items:center;gap:8px}.ins-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.ins-btn:hover{transform:translateY(-1px)}.ins-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.ins-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.ins-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.ins-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.ins-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.ins-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ins-dot.blue{background:#38bdf8}.ins-dot.yellow{background:#fbbf24}.ins-dot.green{background:#10b981}.ins-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.ins-bars-container{display:flex;gap:12px;align-items:flex-end;justify-content:center;height:220px;width:100%;max-width:700px}.ins-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.ins-bar{width:100%;max-width:44px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .25s ease,box-shadow .25s ease}.ins-bar.default{background:linear-gradient(180deg,#64748b,#334155)}.ins-bar.key{background:linear-gradient(180deg,#38bdf8,#0284c7);box-shadow:0 0 15px #38bdf873}.ins-bar.comparing{background:linear-gradient(180deg,#fbbf24,#d97706);box-shadow:0 0 15px #fbbf2466}.ins-bar.sorted{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 0 12px #10b98159}.ins-bar-val{font-size:.82rem;font-weight:800;color:#fff;font-family:Fira Code,monospace;text-shadow:0 1px 2px rgba(0,0,0,.5)}.ins-bar-idx{font-size:.7rem;color:var(--text-muted);font-weight:700;margin-top:6px}.ins-controls-wrapper{flex-shrink:0}@media(max-width:768px){.ins-input-panel{flex-direction:column;align-items:stretch}.ins-legend{margin-left:0;flex-wrap:wrap}}.cyc-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.cyc-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cyc-badge{font-size:.8rem;background:#f59e0b26;border:1px solid rgba(245,158,11,.35);padding:3px 10px;border-radius:6px;color:#fbbf24;font-weight:700;white-space:nowrap}.cyc-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.cyc-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.cyc-input-group{display:flex;align-items:center;gap:8px}.cyc-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.cyc-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.cyc-text-input:focus{border-color:#fbbf24}.cyc-btn-group{display:flex;align-items:center;gap:8px}.cyc-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.cyc-btn:hover{transform:translateY(-1px)}.cyc-btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.cyc-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.cyc-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.cyc-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.cyc-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.cyc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cyc-dot-held{background:#c084fc}.cyc-dot-scan{background:#38bdf8}.cyc-dot-target{background:#f87171}.cyc-dot-sorted{background:#10b981}.cyc-intuition-panel{background:#f59e0b14;border-left:4px solid #fbbf24;border-radius:10px;padding:12px 16px;font-size:.86rem;color:var(--text-primary);animation:slideDown .25s ease}.cyc-intuition-panel h4{margin:0 0 6px;color:#fbbf24;font-size:.92rem}.cyc-intuition-panel p{margin:0;color:var(--text-secondary)}.cyc-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.cyc-metrics-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cyc-metric-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:8px 18px;display:flex;flex-direction:column;align-items:center;min-width:140px;box-shadow:0 2px 8px #00000026}.m-lbl{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.m-val{font-size:1.15rem;font-weight:900;font-family:Fira Code,monospace;margin-top:2px;display:flex;align-items:center}.m-val.purple{color:#c084fc}.m-val.red{color:#f87171}.cyc-bars-container{display:flex;gap:14px;align-items:flex-end;justify-content:center;height:220px;width:100%;margin-top:auto;padding-top:30px}.cyc-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative;max-width:54px}.cyc-top-badge{position:absolute;top:-26px;font-size:.64rem;font-weight:800;padding:2px 7px;border-radius:4px;text-transform:uppercase;white-space:nowrap;animation:fadeIn .2s ease;z-index:5}.badge-held{background:#c084fc40;color:#c084fc;border:1px solid #c084fc}.badge-scanning{background:#38bdf840;color:#38bdf8;border:1px solid #38bdf8}.badge-target{background:#f8717140;color:#f87171;border:1px solid #f87171}.badge-sorted{background:#10b98140;color:#10b981;border:1px solid #10b981}.cyc-bar{width:100%;border-radius:10px 10px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .25s ease,transform .2s ease,box-shadow .25s ease}.cyc-bar.default{background:linear-gradient(180deg,#475569,#1e293b);border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 6px #0000004d}.cyc-bar.held{background:linear-gradient(180deg,#c084fc,#9333ea);border:1px solid #c084fc;box-shadow:0 0 18px #c084fc99;transform:scaleX(1.05)}.cyc-bar.scanning{background:linear-gradient(180deg,#38bdf8,#0284c7);border:1px solid #38bdf8;box-shadow:0 0 18px #38bdf88c;transform:scaleX(1.05)}.cyc-bar.target{background:linear-gradient(180deg,#f87171,#dc2626);border:1px solid #f87171;box-shadow:0 0 20px #f8717199;transform:scaleX(1.08)}.cyc-bar.sorted{background:linear-gradient(180deg,#10b981,#059669);border:1px solid #10b981;box-shadow:0 0 14px #10b98166}.cyc-bar-val{font-size:.88rem;font-weight:900;color:#fff;font-family:Fira Code,monospace;text-shadow:0 1px 3px rgba(0,0,0,.8)}.cyc-bar-idx{font-size:.72rem;color:var(--text-muted);font-weight:700;margin-top:6px;font-family:Fira Code,monospace}.cyc-controls-wrapper{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.cyc-input-panel{flex-direction:column;align-items:stretch}.cyc-legend{margin-left:0;flex-wrap:wrap}}.bkt-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.bkt-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bkt-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.bkt-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.bkt-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bkt-input-group{display:flex;align-items:center;gap:8px}.bkt-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.bkt-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.bkt-text-input:focus{border-color:#38bdf8}.bkt-btn-group{display:flex;align-items:center;gap:8px;margin-left:auto}.bkt-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.bkt-btn.mini{padding:5px 10px;font-size:.75rem;border-radius:6px;background:var(--surface-bg);color:var(--text-primary);border-color:var(--surface-border)}.bkt-btn:hover{transform:translateY(-1px)}.bkt-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.bkt-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.bkt-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.bkt-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.bkt-stage-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;transition:background .25s ease,border-color .25s ease}.bkt-card-title{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bkt-main-array{display:flex;gap:8px;flex-wrap:wrap}.bkt-arr-item{min-width:48px;height:48px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.bkt-val{font-size:.95rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.bkt-idx{font-size:.64rem;color:var(--text-muted);font-weight:600}.bkt-arr-item.active{background:#fbbf2433;border-color:#fbbf24;transform:scale(1.08)}.bkt-arr-item.active .bkt-val{color:#fbbf24}.bkt-arr-item.sorted{background:#10b98126;border-color:#10b981}.bkt-arr-item.sorted .bkt-val{color:#10b981}.bkt-buckets-grid{display:flex;gap:10px;flex-wrap:wrap}.bkt-bucket-card{flex:1;min-width:110px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.bkt-bucket-card.active-bucket{border-color:#38bdf8;background:#38bdf814;box-shadow:0 0 15px #38bdf833}.bkt-header-label{font-size:.76rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.bkt-count{background:#38bdf8;color:#0f172a;padding:1px 6px;border-radius:99px;font-size:.68rem;font-weight:800}.bkt-items-container{display:flex;flex-direction:column;gap:4px;min-height:40px}.bkt-item-chip{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:6px;padding:4px 8px;font-size:.85rem;font-weight:700;color:#38bdf8;font-family:Fira Code,monospace;text-align:center}.bkt-empty-text{font-size:.75rem;color:var(--text-muted);font-style:italic}.bkt-controls-wrapper{flex-shrink:0}@media(max-width:768px){.bkt-input-panel{flex-direction:column;align-items:stretch}.bkt-btn-group{margin-left:0}}.tree-canvas{width:100%;height:100%;display:flex;justify-content:center;align-items:center;min-height:350px;padding:10px 0}.tree-svg{width:100%;max-width:700px;height:auto;min-height:350px}.tree-canvas-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:1.05rem;font-weight:600;transition:color .2s ease}@media(max-width:768px){.tree-canvas{min-height:250px;padding:5px 0}.tree-svg{min-height:250px}.tree-canvas-empty{font-size:.9rem}}.hs-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.hs-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hs-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.hs-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.hs-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.hs-input-group{display:flex;align-items:center;gap:8px}.hs-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.hs-text-input{width:180px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.hs-text-input:focus{border-color:#38bdf8}.hs-btn-group{display:flex;align-items:center;gap:8px}.hs-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.hs-btn:hover{transform:translateY(-1px)}.hs-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.hs-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.hs-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.hs-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.hs-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.hs-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hs-dot.blue{background:#38bdf8}.hs-dot.yellow{background:#fbbf24}.hs-dot.red{background:#ef4444}.hs-dot.green{background:#10b981}.hs-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:16px;gap:14px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.hs-tree-panel{flex:1;min-height:220px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column}.hs-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.hs-tree-canvas-wrap{flex:1;min-height:180px;position:relative}.hs-array-panel{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.hs-array-row{display:flex;gap:8px;flex-wrap:wrap}.hs-arr-cell{min-width:44px;height:48px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.hs-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.hs-idx{font-size:.64rem;color:var(--text-muted);font-weight:600}.hs-arr-cell.root{background:#38bdf833;border-color:#38bdf8;transform:scale(1.06)}.hs-arr-cell.root .hs-val{color:#38bdf8}.hs-arr-cell.compare{background:#fbbf2433;border-color:#fbbf24;transform:scale(1.06)}.hs-arr-cell.compare .hs-val{color:#fbbf24}.hs-arr-cell.swap{background:#ef444433;border-color:#ef4444;transform:scale(1.08)}.hs-arr-cell.swap .hs-val{color:#ef4444}.hs-arr-cell.sorted{background:#10b98126;border-color:#10b981}.hs-arr-cell.sorted .hs-val{color:#10b981}.hs-controls-wrapper{flex-shrink:0}@media(max-width:768px){.hs-input-panel{flex-direction:column;align-items:stretch}.hs-legend{margin-left:0;flex-wrap:wrap}}.rs-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.rs-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.rs-input-group{display:flex;align-items:center;gap:.5rem}.rs-input-group label{font-weight:600;color:var(--text-secondary)}.rs-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:250px;transition:all .2s}.rs-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.rs-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.rs-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.active-pass-badge{font-size:.9rem;background:#eab30833;color:#ca8a04;padding:.2rem .6rem;border-radius:4px;border:1px solid #eab308;font-weight:700}.rs-main-array{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:1rem}.rs-array-item{display:flex;flex-direction:column;align-items:center;gap:4px}.rs-array-box{min-width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.3rem;letter-spacing:2px;padding:0 10px;transition:all .3s ease}.rs-array-idx{font-size:.8rem;color:var(--text-secondary)}.empty-box{border:2px dashed var(--border-color);background:transparent;opacity:.5}.moving-box{border-color:#f97316;background:#f973161a;color:#ea580c;transform:scale(1.1)}.collecting-box{border-color:#f97316;background:#f973161a;color:#ea580c}.target-box{border-style:solid;border-color:#3b82f6;background:#3b82f60d}.sorted-box{border-color:#22c55e;background:#22c55e1a;color:#16a34a}.active-digit-high{color:#ca8a04;text-shadow:0 0 8px rgba(234,179,8,.6);background:#eab30826;border-radius:4px;padding:0 2px}.padded-num{opacity:.9}.rs-buckets-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin-top:1rem;min-height:250px}.rs-bucket-col{display:flex;flex-direction:column;align-items:center}.rs-bucket{width:100%;height:100%;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-color);display:flex;flex-direction:column;overflow:hidden;transition:all .3s ease}.bucket-label{background:var(--surface-hover);padding:.5rem;text-align:center;font-weight:700;font-size:1.1rem;border-bottom:2px solid var(--border-color)}.bucket-contents{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 5px;overflow-y:auto}.rs-bucket-val{background:var(--surface);border:1px solid var(--border-color);padding:4px 8px;border-radius:4px;font-size:1.1rem;letter-spacing:1px;text-align:center;width:100%;box-shadow:0 1px 3px #0000001a}.bucket-active{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.bucket-active .bucket-label{background:#3b82f61a;color:#2563eb;border-bottom-color:#3b82f6}.bucket-collecting{border-color:#f97316;box-shadow:0 0 0 3px #f9731633}.bucket-collecting .bucket-label{background:#f973161a;color:#ea580c;border-bottom-color:#f97316}.rs-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.rs-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.digit-sample{font-family:monospace;font-size:1.1rem;background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color)}.dot.orange{background:#f97316}@media(max-width:1200px){.rs-buckets-grid{grid-template-columns:repeat(5,1fr)}}.selsort-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.selsort-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.selsort-input-group{display:flex;align-items:center;gap:.5rem}.selsort-input-group label{font-weight:600;color:var(--text-secondary)}.selsort-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:280px;transition:all .2s}.selsort-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.selsort-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.selsort-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.selsort-workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.selsort-tracking-badge{background:#22c55e26;color:#16a34a;padding:.5rem 1rem;border-radius:6px;font-size:.95rem;border:1px solid #22c55e}.selsort-main-array{display:flex;justify-content:center;gap:15px;margin:2rem 0;min-height:120px;align-items:flex-end}.selsort-item-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.selsort-status-label{position:absolute;top:-30px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);z-index:10}.selsort-box{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.2rem;transition:background-color .3s,border-color .3s;position:relative;z-index:5}.selsort-idx{font-size:.85rem;color:var(--text-secondary)}.unsorted-box{border-color:var(--border-color)}.sorted-box{border-color:#22c55e;background:#22c55e26;color:#16a34a}.min-box{border-color:#3b82f6;background:#3b82f633;color:#2563eb;box-shadow:0 0 15px #3b82f666}.min-box+.selsort-status-label{color:#2563eb;border-color:#3b82f6}.scan-box{border-color:#eab308;background:#eab30833;color:#ca8a04}.scan-box+.selsort-status-label{color:#ca8a04;border-color:#eab308}.swap-box{border-color:#ef4444;background:#ef444433;color:#dc2626;box-shadow:0 0 15px #ef444466}.swap-box+.selsort-status-label{color:#dc2626;border-color:#ef4444}.selsort-boundary-divider{position:absolute;right:-9px;top:-20px;bottom:-20px;width:2px;background-color:var(--text-secondary);border-radius:2px;opacity:.5;pointer-events:none}.selsort-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.selsort-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.shell-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.shell-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.shell-input-group{display:flex;align-items:center;gap:.5rem}.shell-input-group label{font-weight:600;color:var(--text-secondary)}.shell-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:280px;transition:all .2s}.shell-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.shell-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.shell-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.shell-workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.shell-gap-badge{background:#3b82f626;color:#2563eb;padding:.5rem 1rem;border-radius:6px;font-size:1.1rem;border:1px solid #3b82f6;display:flex;align-items:center;gap:.5rem}.shell-main-array{display:flex;flex-direction:column;align-items:center;gap:2rem;margin:2rem 0;min-height:180px}.shell-array-track{display:flex;justify-content:center;gap:12px}.shell-item-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;width:55px}.shell-status-label{position:absolute;top:-30px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);z-index:10}.shell-box{width:55px;height:55px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.1rem;transition:background-color .3s,border-color .3s;position:relative;z-index:5}.shell-idx{font-size:.85rem;color:var(--text-secondary)}.shell-group-indicator{position:absolute;bottom:-20px;width:80%;height:4px;background-color:#3b82f6;border-radius:4px}.default-box{border-color:var(--border-color);opacity:.6}.group-box{border-color:#3b82f6;background:#3b82f60d;opacity:1}.compare-box{border-color:#eab308;background:#eab30833;color:#ca8a04;opacity:1;z-index:6}.compare-box+.shell-status-label,.shell-item-wrapper:has(.compare-box) .shell-status-label{color:#ca8a04;border-color:#eab308}.swap-box{border-color:#ef4444;background:#ef444433;color:#dc2626;box-shadow:0 0 15px #ef444466;opacity:1;z-index:7}.swap-box+.shell-status-label,.shell-item-wrapper:has(.swap-box) .shell-status-label{color:#dc2626;border-color:#ef4444}.sorted-box{border-color:#22c55e;background:#22c55e26;color:#16a34a;opacity:1}.shell-gap-connector{background:#3b82f61a;border-top:2px dashed #3b82f6;border-left:2px dashed #3b82f6;border-right:2px dashed #3b82f6;padding:.5rem;border-radius:8px 8px 0 0;color:#2563eb;font-weight:700;font-size:.9rem;text-align:center;width:100%;max-width:400px}.shell-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.shell-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.dot.default{background:var(--border-color)}.ts-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.ts-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.ts-input-group{display:flex;align-items:center;gap:.5rem}.ts-input-group label{font-weight:600;color:var(--text-secondary)}.ts-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:280px;transition:all .2s}.ts-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.ts-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.ts-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.panel-label{font-size:1.1rem;font-weight:600;margin-bottom:2rem;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem}.mode-badge{font-size:.85rem;padding:.2rem .6rem;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.mode-badge.insert{background:#3b82f626;color:#2563eb;border:1px solid #3b82f6}.mode-badge.merge{background:#a855f726;color:#9333ea;border:1px solid #a855f7}.ts-main-array{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:1rem;position:relative}.ts-array-item{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;z-index:2}.ts-array-box{min-width:55px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.2rem;transition:all .3s ease;position:relative}.ts-array-idx{font-size:.8rem;color:var(--text-secondary)}.active-run{border-color:#3b82f6;background:#3b82f61a;box-shadow:0 2px 8px #3b82f633}.comparing{border-color:#eab308;background:#eab30833;color:#ca8a04;transform:translateY(-4px)}.shifting{border-color:#ef4444;background:#ef444433;color:#dc2626;transform:translateY(-8px);box-shadow:0 4px 12px #ef44444d}.run-sorted{border-color:#14b8a6;background:#14b8a61a;color:#0d9488}.left-run{border-color:#3b82f6;background:#3b82f626}.right-run{border-color:#06b6d4;background:#06b6d426}.merge-copied{border-color:#a855f7;background:#a855f733;color:#9333ea;transform:scale(1.1);z-index:10;box-shadow:0 0 15px #a855f766}.fully-sorted{border-color:#22c55e;background:#22c55e26;color:#16a34a}.ts-brackets-area{display:none}.ts-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.ts-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.dot.teal{background:#14b8a6}.bs-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.bs-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bs-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.bs-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.bs-step-panel{flex-shrink:0;display:flex;align-items:center;gap:14px;padding:11px 16px;border:1px solid rgba(56,189,248,.22);border-radius:12px;background:#0ea5e912}.bs-step-label{color:#38bdf8;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.bs-step-label span{margin-left:6px;color:var(--text-muted);font-family:Fira Code,monospace;letter-spacing:0}.bs-step-panel p{margin:0;color:var(--text-primary);font-size:.9rem;font-weight:650;line-height:1.45}.bs-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bs-input-group{display:flex;align-items:center;gap:8px}.bs-input-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.bs-icon{font-size:.85rem;color:#38bdf8}.bs-target-input{width:80px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease,background .2s ease}.bs-target-input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf826}.bs-btn-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bs-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;white-space:nowrap}.bs-btn:hover{transform:translateY(-1px)}.bs-btn:active{transform:translateY(0)}.bs-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;box-shadow:0 4px 12px #38bdf840}.bs-btn-primary:hover{box-shadow:0 6px 16px #38bdf859}.bs-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.bs-btn-secondary:hover{background:var(--surface-bg-raised);color:var(--text-primary)}.bs-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.bs-btn-outline:hover{background:var(--surface-bg);color:var(--text-primary)}.bs-target-display{margin-left:auto;font-size:.88rem;color:var(--text-secondary);background:var(--surface-bg);border:1px solid var(--surface-border);padding:5px 14px;border-radius:20px;font-weight:600}.bs-target-display strong{color:#fbbf24;font-weight:800;font-family:Fira Code,monospace;font-size:.95rem}.bs-canvas-wrapper{flex:1;min-height:240px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.bs-array-container{display:flex;gap:10px;align-items:center;justify-content:center;padding:108px 10px 28px;min-width:-moz-min-content;min-width:min-content}.bs-element-box{min-width:54px;height:58px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:var(--surface-shadow);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.bs-element-val{font-size:1.1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.bs-element-idx{font-size:.68rem;color:var(--text-muted);font-weight:600;margin-top:2px}.bs-element-box.is-inactive{opacity:.35;filter:grayscale(.8)}.bs-element-box.is-low{border-color:#38bdf8;box-shadow:0 0 12px #38bdf859}.bs-element-box.is-high{border-color:#f472b6;box-shadow:0 0 12px #f472b659}.bs-element-box.is-mid{background:#fbbf242e;border-color:#fbbf24;box-shadow:0 0 20px #fbbf2473}.bs-element-box.is-mid .bs-element-val{color:#fbbf24}.bs-element-box.is-found{background:#10b98133;border-color:#10b981;box-shadow:0 0 25px #10b9818c}.bs-element-box.is-found .bs-element-val{color:#10b981}.bs-markers-column{position:absolute;top:-98px;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:3}.bs-marker{font-size:.64rem;font-weight:800;letter-spacing:.5px;padding:2px 7px;border-radius:10px;white-space:nowrap;text-transform:uppercase}.bs-marker-low{background:#38bdf833;color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.bs-marker-high{background:#f472b633;color:#f472b6;border:1px solid rgba(244,114,182,.4)}.bs-marker-mid{background:#fbbf2440;color:#fbbf24;border:1px solid rgba(251,191,36,.5)}.bs-marker-found{background:#10b98140;color:#10b981;border:1px solid rgba(16,185,129,.5)}.bs-controls-wrapper{flex-shrink:0}@media(max-width:768px){.bs-step-panel{align-items:flex-start;flex-direction:column;gap:5px}.bs-input-panel{flex-direction:column;align-items:stretch}.bs-target-display{margin-left:0;text-align:center}.bs-element-box{min-width:44px;height:50px}.bs-element-val{font-size:.95rem}.bs-array-container{padding-top:96px}.bs-markers-column{top:-86px}}.exp-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.exp-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exp-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.exp-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.exp-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.exp-input-group{display:flex;align-items:center;gap:8px}.exp-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.exp-number-input{width:80px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.exp-number-input:focus{border-color:#38bdf8}.exp-btn-group{display:flex;align-items:center;gap:8px}.exp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.exp-btn:hover{transform:translateY(-1px)}.exp-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.exp-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.exp-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.exp-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.exp-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.exp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.exp-dot.blue{background:#38bdf8}.exp-dot.yellow{background:#fbbf24}.exp-dot.green{background:#10b981}.exp-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.exp-array-grid{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.exp-cell-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}.exp-cell{min-width:48px;height:52px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.exp-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.exp-idx{font-size:.64rem;color:var(--text-muted);font-weight:600;margin-top:4px}.exp-bound-badge{font-size:.58rem;font-weight:800;color:#38bdf8;text-transform:uppercase}.exp-cell.state-active{background:#38bdf833;border-color:#38bdf8;transform:scale(1.08)}.exp-cell.state-active .exp-val{color:#38bdf8}.exp-cell.state-range{background:#fbbf2426;border-color:#fbbf24}.exp-cell.state-mid{background:#fbbf244d;border-color:#fbbf24;transform:scale(1.08)}.exp-cell.state-mid .exp-val{color:#fbbf24}.exp-cell.state-found{background:#10b98140;border-color:#10b981;transform:scale(1.12);box-shadow:0 0 15px #10b98166}.exp-cell.state-found .exp-val{color:#10b981}.exp-cell.state-excluded{opacity:.35}.exp-controls-wrapper{flex-shrink:0}@media(max-width:768px){.exp-input-panel{flex-direction:column;align-items:stretch}.exp-legend{margin-left:0;flex-wrap:wrap}}.inp-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.inp-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inp-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.inp-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.inp-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.inp-input-group{display:flex;align-items:center;gap:8px}.inp-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.inp-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.inp-text-input:focus{border-color:#38bdf8}.inp-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.inp-number-input:focus{border-color:#38bdf8}.inp-btn-group{display:flex;align-items:center;gap:8px}.inp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.inp-btn:hover{transform:translateY(-1px)}.inp-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.inp-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.inp-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.inp-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.inp-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.inp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.inp-dot.blue{background:#38bdf8}.inp-dot.yellow{background:#fbbf24}.inp-dot.green{background:#10b981}.inp-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.inp-formula-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;padding:10px 16px;display:flex;align-items:center;gap:10px;max-width:100%}.formula-lbl{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.inp-formula-card code{font-size:.88rem;color:#38bdf8;font-family:Fira Code,monospace;font-weight:700}.inp-array-grid{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.inp-cell-wrapper{display:flex;flex-direction:column;align-items:center}.inp-cell{min-width:48px;height:52px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;position:relative;transition:background .2s ease,border-color .2s ease,transform .2s ease}.inp-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.inp-idx{font-size:.64rem;color:var(--text-muted);font-weight:600;margin-top:4px}.inp-ptr-badge{font-size:.58rem;font-weight:800;text-transform:uppercase}.inp-ptr-badge.low{color:#38bdf8}.inp-ptr-badge.high{color:#c084fc}.inp-ptr-badge.pos{color:#fbbf24}.inp-cell.state-bound{background:#38bdf826;border-color:#38bdf8}.inp-cell.state-pos{background:#fbbf2440;border-color:#fbbf24;transform:scale(1.08)}.inp-cell.state-pos .inp-val{color:#fbbf24}.inp-cell.state-found{background:#10b98140;border-color:#10b981;transform:scale(1.12);box-shadow:0 0 15px #10b98166}.inp-cell.state-found .inp-val{color:#10b981}.inp-cell.state-discarded{opacity:.35}.inp-controls-wrapper{flex-shrink:0}@media(max-width:768px){.inp-input-panel{flex-direction:column;align-items:stretch}.inp-legend{margin-left:0;flex-wrap:wrap}}.jmp-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.jmp-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.jmp-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.jmp-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.jmp-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.jmp-input-group{display:flex;align-items:center;gap:8px}.jmp-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.jmp-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.jmp-text-input:focus{border-color:#38bdf8}.jmp-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.jmp-number-input:focus{border-color:#38bdf8}.jmp-btn-group{display:flex;align-items:center;gap:8px}.jmp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.jmp-btn:hover{transform:translateY(-1px)}.jmp-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.jmp-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.jmp-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.jmp-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.jmp-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.jmp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.jmp-dot.blue{background:#38bdf8}.jmp-dot.yellow{background:#fbbf24}.jmp-dot.green{background:#10b981}.jmp-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.jmp-info-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;padding:8px 16px;font-size:.82rem;color:var(--text-secondary);font-weight:700}.jmp-info-card code{color:#38bdf8;font-family:Fira Code,monospace;margin-left:6px}.jmp-array-grid{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.jmp-cell-wrapper{display:flex;flex-direction:column;align-items:center}.jmp-cell{min-width:48px;height:52px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;position:relative;transition:background .2s ease,border-color .2s ease,transform .2s ease}.jmp-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.jmp-idx{font-size:.64rem;color:var(--text-muted);font-weight:600;margin-top:4px}.jmp-ptr-badge{font-size:.58rem;font-weight:800;text-transform:uppercase}.jmp-ptr-badge.start{color:#38bdf8}.jmp-ptr-badge.end{color:#c084fc}.jmp-cell.state-in-block{background:#38bdf81f;border-color:#38bdf84d}.jmp-cell.state-active{background:#fbbf2440;border-color:#fbbf24;transform:scale(1.08)}.jmp-cell.state-active .jmp-val{color:#fbbf24}.jmp-cell.state-found{background:#10b98140;border-color:#10b981;transform:scale(1.12);box-shadow:0 0 15px #10b98166}.jmp-cell.state-found .jmp-val{color:#10b981}.jmp-controls-wrapper{flex-shrink:0}@media(max-width:768px){.jmp-input-panel{flex-direction:column;align-items:stretch}.jmp-legend{margin-left:0;flex-wrap:wrap}}.bst-visualizer{display:flex;flex-direction:column;gap:20px;padding:20px;height:100%}.visualizer-container{display:flex;gap:20px;flex:1;min-height:0}.control-panel{width:300px;padding:24px;display:flex;flex-direction:column;gap:20px}.display-panel{flex:1;display:flex;flex-direction:column;gap:20px;min-height:0}.canvas-wrapper{flex:2;position:relative;padding:20px;min-height:400px}.array-overlay{position:absolute;bottom:20px;left:20px;right:20px;background:var(--surface-bg);padding:10px;border-radius:12px;border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .25s ease,border-color .25s ease}.info-panel{flex:1;padding:24px;display:flex;flex-direction:column;gap:15px}.input-group{display:flex;flex-direction:column;gap:12px}.btn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.traversal-group .btn-grid{grid-template-columns:1fr}.divider{height:1px;background:var(--surface-border);transition:background .25s ease}.playback-controls{display:flex;flex-direction:column;gap:15px}.step-controls{display:flex;gap:8px;justify-content:center}.play-btn{width:60px;height:40px;border-radius:20px;background:var(--primary-orange);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s}.play-btn:hover{transform:scale(1.05);box-shadow:0 0 15px #ef444466}.step-description{font-size:1rem;line-height:1.6;color:var(--text-primary);min-height:60px}.traversal-result{background:var(--surface-bg-raised);border:1px solid var(--surface-border);padding:15px;border-radius:8px;transition:background .25s ease,border-color .25s ease}.result-values{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.result-chip{background:var(--primary-teal);color:#fff;padding:4px 10px;border-radius:15px;font-weight:600;font-size:.9rem}.complexity-info{display:flex;gap:10px;margin-top:auto}.badge{background:var(--surface-bg-raised);border:1px solid var(--surface-border);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:600;transition:background .25s ease,border-color .25s ease}@media(max-width:1024px){.visualizer-container{flex-direction:column}.control-panel{width:100%}}.egg-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.egg-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.egg-badge{font-size:.8rem;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);padding:3px 10px;border-radius:6px;color:#fbbf24;font-weight:700;white-space:nowrap}.egg-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.egg-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.egg-input-group{display:flex;align-items:center;gap:8px}.egg-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.egg-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.egg-number-input:focus{border-color:#fbbf24}.egg-btn-group{display:flex;align-items:center;gap:8px}.egg-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.egg-btn:hover{transform:translateY(-1px)}.egg-btn-primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.egg-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.egg-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.egg-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.egg-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.egg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.egg-dot.yellow{background:#fbbf24}.egg-dot.red{background:#f87171}.egg-dot.green{background:#10b981}.egg-canvas-wrapper{flex:1;min-height:300px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.egg-building-panel{flex:1;display:flex;flex-direction:column;gap:10px}.egg-card-title{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.egg-card-title code{color:#fbbf24;font-family:Fira Code,monospace}.egg-building-container{display:flex;flex-direction:column;gap:6px;max-height:380px;overflow-y:auto;padding-right:6px}.egg-floor{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:8px;font-weight:700;transition:background .2s ease,border-color .2s ease}.floor-num{font-size:.85rem;color:var(--text-muted);font-family:Fira Code,monospace}.egg-icon{font-size:.85rem;font-weight:800;display:flex;align-items:center;gap:4px}.egg-floor.state-testing{background:#fbbf2433;border-color:#fbbf24}.egg-floor.state-testing .floor-num{color:#fbbf24}.egg-floor.state-broken{background:#f8717133;border-color:#f87171}.egg-floor.state-broken .floor-num{color:#f87171}.egg-floor.state-survived{background:#10b98133;border-color:#10b981}.egg-floor.state-survived .floor-num{color:#10b981}.egg-floor.state-uncertain{background:#38bdf81a;border-color:#38bdf84d}.egg-dp-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.egg-dp-scroll{overflow-x:auto}.egg-dp-table{border-collapse:collapse;width:100%;font-size:.85rem}.egg-dp-table th,.egg-dp-table td{padding:6px 10px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.egg-dp-table th{background:var(--surface-bg);color:var(--text-secondary);font-size:.76rem;font-weight:700}.egg-dp-table td{color:var(--text-primary);font-weight:700}.egg-controls-wrapper{flex-shrink:0}@media(max-width:768px){.egg-input-panel{flex-direction:column;align-items:stretch}.egg-legend{margin-left:0;flex-wrap:wrap}}.visualizer-container.sieve{display:flex;flex-direction:column;align-items:center;gap:2rem;padding:2rem;background:#0f172a;min-height:80vh;color:#fff}.sieve-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;background:#1e293b80;padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);width:100%;max-width:600px}.sieve-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#1e293b;border-radius:6px;font-weight:600;font-size:.9rem;position:relative;border:1px solid rgba(255,255,255,.05);transition:all .3s cubic-bezier(.4,0,.2,1)}.sieve-cell.active{color:#cbd5e1}.sieve-cell.prime{background:#10b981;color:#fff;box-shadow:0 0 15px #10b9814d;z-index:2}.sieve-cell.current-prime{background:#fbbf24;color:#000;transform:scale(1.1);box-shadow:0 0 20px #fbbf2480;z-index:10}.sieve-cell.current-multiple{background:#ef4444;color:#fff;transform:scale(1.05);z-index:5}.sieve-cell.multiple{opacity:.2;background:#334155;text-decoration:line-through;transform:scale(.9)}.sieve-stats{display:flex;gap:2rem;background:#ffffff0d;padding:1rem 2rem;border-radius:99px;border:1px solid rgba(255,255,255,.1)}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.dot.prime{background:#10b981}.dot.current{background:#fbbf24}.dot.crossed{background:#64748b}.input-controls{display:flex;gap:1rem;align-items:center}.limit-input{background:#1e293b;border:1px solid rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:6px;color:#fff;width:80px}.btn-generate{background:#38bdf8;color:#0f172a;padding:.5rem 1.5rem;border-radius:6px;font-weight:600;transition:all .2s}.btn-generate:hover{background:#0ea5e9;transform:translateY(-2px)}.qs-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.qs-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.qs-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.qs-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.qs-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.qs-input-group{display:flex;align-items:center;gap:8px}.qs-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.qs-text-input{width:200px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.qs-text-input:focus{border-color:#c084fc}.qs-btn-group{display:flex;align-items:center;gap:8px}.qs-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.qs-btn:hover{transform:translateY(-1px)}.qs-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.qs-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.qs-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.qs-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.qs-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.qs-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.qs-dot.purple{background:#c084fc}.qs-dot.yellow{background:#fbbf24}.qs-dot.red{background:#ef4444}.qs-dot.green{background:#10b981}.qs-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:24px 16px 16px;transition:background .25s ease,border-color .25s ease}.qs-bars-container{display:flex;align-items:flex-end;justify-content:center;gap:10px;width:100%;height:220px}.qs-bar-wrapper{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;flex:1;max-width:48px;position:relative}.qs-pointer-tags{position:absolute;top:-24px;display:flex;gap:4px}.ptr-badge{padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:900;font-family:Fira Code,monospace}.ptr-badge.i-ptr{background:#38bdf8;color:#0284c7}.ptr-badge.j-ptr{background:#fbbf24;color:#78350f}.qs-bar{width:100%;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .2s ease,border-color .2s ease}.qs-bar.pivot{background:#a855f74d;border-color:#c084fc}.qs-bar.comparing{background:#fbbf244d;border-color:#fbbf24}.qs-bar.swapping{background:#ef44444d;border-color:#ef4444}.qs-bar.sorted{background:#10b98140;border-color:#10b981}.qs-bar.inactive{opacity:.35}.qs-bar-val{font-size:.85rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.qs-bar-idx{font-size:.68rem;color:var(--text-muted);font-family:Fira Code,monospace;margin-top:6px}.qs-controls-wrapper{flex-shrink:0}@media(max-width:768px){.qs-input-panel{flex-direction:column;align-items:stretch}.qs-legend{margin-left:0;flex-wrap:wrap}}.graph-canvas{flex:1;width:100%;min-height:300px;position:relative;box-sizing:border-box}.graph-svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible}.graph-canvas-empty{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-muted);font-size:1.05rem;font-weight:600;transition:color .2s ease}.edge-weight{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;fill:#f8fafc;stroke:#020617d1;stroke-width:2.8px;paint-order:stroke;font-weight:800;letter-spacing:.01em}.edge-weight-active{fill:#fff;stroke:#020617e6;stroke-width:3px}.edge-weight-bg{fill:#020617e0;stroke:#f1f5f994;stroke-width:1.2px}.edge-weight-bg-active{fill:#0369a1eb;stroke:#ffffffd1}[data-theme=light] .edge-weight{fill:#0f172a;stroke:#fffffff5;stroke-width:3px}[data-theme=light] .edge-weight-active{fill:#0f172a;stroke:#fff;stroke-width:3.2px}[data-theme=light] .edge-weight-bg{fill:#fffffff2;stroke:#0f172a5c}[data-theme=light] .edge-weight-bg-active{fill:#bfdbfef2;stroke:#1e40af94}.distance-table{background:var(--surface-bg);border-radius:14px;padding:12px 16px;width:100%;max-width:500px;border:1px solid var(--surface-border);box-shadow:var(--surface-shadow);transition:background .25s ease,border-color .25s ease}.distance-table,.distance-table *{color:var(--text-primary)}.dt-header{font-size:.84rem;font-weight:600;color:var(--text-muted)!important;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;transition:color .2s ease}.dt-grid{display:flex;flex-wrap:wrap;gap:6px}.dt-cell{display:flex;flex-direction:column;align-items:center;background:var(--surface-bg-raised);border-radius:10px;padding:7px 12px;min-width:48px;border:1px solid var(--surface-border);transition:background .25s ease,border-color .25s ease}.dt-cell-active{background:var(--algo-tab-active-bg);border-color:var(--algo-tab-active-color)}.dt-node{font-size:.78rem;color:var(--text-muted)!important;font-weight:600}.dt-dist{font-size:1rem;font-weight:800;color:var(--text-primary)!important}.graph-canvas-interactive{cursor:default}.graph-canvas-overlay-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;color:var(--text-muted);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .2s ease}.graph-canvas-toast{position:absolute;top:15px;left:50%;transform:translate(-50%);background:var(--surface-bg);border:1px solid var(--surface-border);padding:8px 16px;border-radius:8px;color:var(--text-primary);font-size:.9rem;pointer-events:none;z-index:10;box-shadow:var(--surface-shadow);white-space:nowrap;transition:background .25s ease,border-color .25s ease}@media(max-width:768px){.graph-canvas{min-height:260px}.graph-svg,.graph-canvas-empty{min-height:240px}.distance-table{padding:10px 12px}}.graph-input-section{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--surface-shadow);max-height:80vh;overflow-y:auto;overscroll-behavior:contain;scroll-margin-top:80px;transition:background .25s ease,border-color .25s ease}.input-tabs{display:flex;gap:10px;border-bottom:1px solid var(--surface-border);padding-bottom:10px}.tab-btn{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--text-secondary);padding:.5rem 1rem;cursor:pointer;font-weight:700;font-size:.88rem;transition:color .2s ease,border-color .2s ease;border-bottom:2px solid transparent}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:#38bdf8;border-bottom-color:#38bdf8}.edge-textarea-area{display:flex;flex-direction:column;gap:12px}.input-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.input-header code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;font-family:Fira Code,JetBrains Mono,monospace;font-size:.78rem;color:var(--text-primary)}.btn-group{display:flex;gap:6px;flex-wrap:wrap}.edge-textarea{width:100%;min-height:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:10px;padding:12px;color:var(--algo-input-text);font-family:Fira Code,JetBrains Mono,monospace;font-size:.88rem;line-height:1.5;resize:vertical;transition:border-color .2s ease,background .2s ease}.edge-textarea:focus{outline:none;border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf826}.edge-list-preview{margin-top:8px;display:flex;flex-direction:column;gap:8px}.edge-pills-container{display:flex;flex-wrap:wrap;gap:6px;max-height:100px;overflow-y:auto;padding:4px}.edge-pill{background:#38bdf814;border:1px solid rgba(56,189,248,.3);color:#38bdf8;padding:3px 10px;border-radius:99px;font-size:.75rem;font-weight:600;font-family:Fira Code,monospace}.matrix-input-area{display:flex;flex-direction:column;gap:15px}.matrix-controls{display:flex;justify-content:space-between;align-items:center;background:var(--surface-bg);border:1px solid var(--surface-border);padding:10px 14px;border-radius:10px;flex-wrap:wrap;gap:10px}.node-count-selector{display:flex;align-items:center;gap:10px}.node-count-input{width:65px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);color:var(--text-primary);padding:6px 10px;border-radius:8px;text-align:center;font-size:.9rem;font-weight:700;transition:border-color .2s ease}.node-count-input:focus{outline:none;border-color:#38bdf8}.matrix-grid-container{overflow:auto;max-height:320px;border:1px solid var(--surface-border);border-radius:10px;background:var(--surface-bg)}.adj-matrix{border-collapse:collapse;width:100%}.adj-matrix th,.adj-matrix td{width:46px;min-width:46px;height:42px;padding:0;border:1px solid var(--surface-border);text-align:center}.adj-matrix th{background:var(--surface-bg-raised);color:var(--text-secondary);font-size:.8rem;font-weight:700;position:sticky;top:0;z-index:2}.adj-matrix th.row-header{left:0;z-index:3}.adj-matrix th input{width:100%;height:100%;background:transparent;border:none;color:#38bdf8;text-align:center;font-weight:800;font-size:.85rem}.adj-matrix td input{width:100%;height:100%;background:transparent;border:none;color:var(--text-primary);text-align:center;font-family:Fira Code,monospace;font-size:.9rem;font-weight:700}.adj-matrix td.diagonal{background:var(--surface-bg);opacity:.4}.adj-matrix td.active-cell{background:#38bdf81f}.btn-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:8px 18px;border-radius:9px;cursor:pointer;font-weight:700;font-size:.85rem;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 12px #10b98133}.btn-add:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.btn-add.full-width{width:100%}.btn-action.mini{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;font-size:.75rem;font-weight:600;background:var(--surface-bg);color:var(--text-secondary);border:1px solid var(--surface-border);border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease}.btn-action.mini:hover{background:var(--surface-bg-raised);color:var(--text-primary)}.btn-action.mini.danger{color:#f87171;border-color:#ef44444d}.btn-action.mini.danger:hover{background:#ef44441f}.stat-label{font-size:.82rem;color:var(--text-secondary);font-weight:600}.matrix-help{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted);margin-top:4px}.gt-wrapper,.traversal-container{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.gt-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gt-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.gt-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.gt-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.gt-input-group{display:flex;align-items:center;gap:8px}.gt-input-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.gt-icon{font-size:.85rem;color:#38bdf8}.gt-start-select{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:5px 12px;font-size:.88rem;font-weight:700;cursor:pointer;transition:border-color .2s ease}.gt-start-select:focus{outline:none;border-color:#38bdf8}.gt-btn-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gt-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;white-space:nowrap}.gt-btn:hover{transform:translateY(-1px)}.gt-btn-config{background:#38bdf81a;color:#38bdf8;border-color:#38bdf84d}.gt-btn-config:hover{background:#38bdf82e;box-shadow:0 4px 12px #38bdf833}.gt-btn-reset{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.gt-btn-reset:hover{background:var(--surface-bg-raised);color:var(--text-primary)}.gt-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.gt-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.gt-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.gt-dot.unvisited{background:#64748b}.gt-dot.queue{background:#38bdf8;box-shadow:0 0 6px #38bdf880}.gt-dot.current{background:#fbbf24;box-shadow:0 0 6px #fbbf2480}.gt-dot.visited{background:#10b981;box-shadow:0 0 6px #10b98180}.gt-main-area,.traversal-layout{display:flex;gap:10px;flex:1 1 0;min-height:320px}.gt-graph-panel,.graph-section{flex:1 1 0;min-width:0;min-height:300px;position:relative;background:var(--algo-grid-bg);border-radius:14px;border:1px solid var(--algo-grid-border);overflow:hidden;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.gt-graph-label{position:absolute;top:8px;left:12px;z-index:5;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);background:var(--surface-bg);padding:3px 10px;border-radius:6px;border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gt-canvas-wrap{flex:1;min-height:300px;position:relative;display:flex;flex-direction:column}.gt-ds-panel,.data-structure-section{flex:0 0 220px;display:flex;flex-direction:column;gap:10px}.gt-ds-card,.ds-panel{background:var(--surface-bg-raised);border-radius:14px;border:1px solid var(--surface-border);padding:12px;display:flex;flex-direction:column;flex:1;overflow:hidden;transition:background .25s ease,border-color .25s ease}.gt-ds-title,.ds-title{font-size:.78rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.gt-ds-count,.ds-count{background:#38bdf8;color:#0f172a;padding:2px 8px;border-radius:99px;font-size:.7rem;font-weight:800}.gt-ds-count.green{background:#10b981;color:#fff}.queue-list{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;flex:1;overflow-y:auto}.queue-item{width:38px;height:38px;background:#38bdf81f;border:1.5px solid #38bdf8;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;color:#38bdf8;font-family:Fira Code,monospace}.visited-list{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;flex:1;overflow-y:auto}.visited-item{width:32px;height:32px;background:#10b9811f;border:1.5px solid #10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#10b981;font-family:Fira Code,monospace}.gt-empty-hint{font-size:.78rem;color:var(--text-muted);font-style:italic;padding:4px 0}.gt-controls-bar{flex-shrink:0}.gt-modal-backdrop{position:fixed;inset:0;background:#0f172acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center}.gt-modal-box{background:var(--surface-bg);padding:24px;border-radius:18px;min-width:450px;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--surface-border);box-shadow:0 25px 50px -12px #00000080}.gt-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.gt-modal-header h3{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:10px;font-size:1.05rem}.gt-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:6px}.gt-modal-close:hover{color:var(--text-primary);background:var(--surface-bg-raised)}@media(max-width:900px){.gt-main-area,.traversal-layout{flex-direction:column}.gt-ds-panel,.data-structure-section{flex:0 0 auto}.gt-legend{margin-left:0;flex-wrap:wrap}}.ksj-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.ksj-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ksj-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.ksj-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.ksj-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.ksj-btn-group{display:flex;align-items:center;gap:8px}.ksj-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.ksj-btn:hover{transform:translateY(-1px)}.ksj-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.ksj-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.ksj-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.ksj-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.ksj-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.ksj-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ksj-dot.blue{background:#38bdf8}.ksj-dot.orange{background:#f97316}.ksj-dot.green{background:#10b981}.ksj-canvas-wrapper{flex:1;min-height:380px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.ksj-graph-card{flex:1;min-width:0;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;position:relative;display:flex;flex-direction:column;overflow:hidden}.ksj-canvas-box{flex:1;position:relative;cursor:crosshair}.ksj-edges-svg{position:absolute;inset:0;pointer-events:none}.edge-line{stroke:#64748b;stroke-width:2px;transition:stroke .3s ease,stroke-width .3s ease}.edge-line.active{stroke:#38bdf8;stroke-width:3.5px}.edge-line.reversed{stroke:#f97316;stroke-width:3px}.graph-node{position:absolute;width:48px;height:48px;border-radius:50%;background:var(--surface-bg);border:2px solid var(--surface-border);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--text-primary);cursor:pointer;transition:transform .2s ease,border-color .25s ease,background .25s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.graph-node:hover{transform:scale(1.08)}.graph-node.visiting,.graph-node.current{background:#38bdf840;border-color:#38bdf8;box-shadow:0 0 15px #38bdf866}.graph-node.finished{border-color:var(--scc-color, #10b981);background:var(--scc-glow, rgba(16, 185, 129, .25));box-shadow:0 0 15px var(--scc-glow, rgba(16, 185, 129, .4))}.node-label{font-size:.95rem;font-family:Fira Code,monospace}.delete-node-btn{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;border:none;font-size:.75rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.ksj-edit-hint{padding:8px 14px;background:var(--surface-bg);border-top:1px solid var(--surface-border);font-size:.76rem;color:var(--text-muted);font-weight:600;text-align:center}.ksj-sidebar{flex:0 0 240px;display:flex;flex-direction:column;gap:14px}.ksj-side-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;flex:1}.side-title{margin:0;font-size:.76rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ksj-stack-view{display:flex;flex-direction:column-reverse;gap:6px;max-height:150px;overflow-y:auto}.stack-chip{padding:6px 10px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;font-size:.82rem;font-weight:800;color:#38bdf8;text-align:center;font-family:Fira Code,monospace}.stack-chip.pop{background:#f59e0b40;border-color:#fbbf24;color:#fbbf24}.ksj-scc-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto}.scc-chip{padding:6px 10px;background:var(--surface-bg);border:1px solid var(--scc-color, var(--surface-border));border-radius:8px;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-family:Fira Code,monospace}.scc-tag{font-weight:800;color:var(--scc-color, #10b981)}.scc-body{color:var(--text-primary);font-weight:700}.empty-text{font-size:.78rem;color:var(--text-muted);font-style:italic;text-align:center;padding:10px 0}.ksj-controls-wrapper{flex-shrink:0}@media(max-width:850px){.ksj-canvas-wrapper{flex-direction:column}.ksj-sidebar{flex:0 0 auto}.ksj-input-panel{flex-direction:column;align-items:stretch}.ksj-legend{margin-left:0;flex-wrap:wrap}}.topo-container{padding:24px;display:flex;flex-direction:column;gap:24px;color:#e2e8f0;height:100%;overflow-y:auto}.topo-header{display:flex;justify-content:space-between;align-items:center;background:#1e293b66;padding:16px 24px;border-radius:16px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topo-controls{display:flex;gap:12px}.topo-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;flex:1;min-height:500px}.topo-graph-card{background:#0f172a4d;border-radius:20px;border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;display:flex;flex-direction:column}.topo-table-card{background:#1e293b4d;border-radius:20px;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column}.card-title{padding:16px 20px;font-size:.8rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;font-weight:800;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:10px}.topo-result-strip{background:#0f172a66;border-radius:16px;padding:16px 24px;border:1px solid rgba(59,130,246,.2);display:flex;flex-direction:column;gap:12px}.topo-sequence{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.seq-item{width:40px;height:40px;background:#1e293b;border:2px solid #3b82f6;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#60a5fa;box-shadow:0 4px 12px #3b82f633;animation:seqPop .3s cubic-bezier(.175,.885,.32,1.275)}.seq-arrow{color:#475569}@keyframes seqPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.topo-table-content{flex:1;overflow-y:auto;padding:12px}.topo-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-radius:10px;margin-bottom:4px;background:#0f172a33;transition:all .2s}.topo-row.ready{background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.topo-row.processed{opacity:.4;filter:grayscale(1)}.row-node{font-weight:700;font-family:JetBrains Mono,monospace}.row-deg{background:#0f172a;padding:2px 10px;border-radius:6px;font-size:.8rem;font-weight:800;color:#3b82f6}.topo-row.ready .row-deg{color:#10b981}.topo-btn{padding:8px 16px;border-radius:10px;border:none;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:#334155;color:#e2e8f0}.btn-secondary:hover{background:#475569}.topo-controls-wrapper{margin-top:auto}.topo-graph-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#475569;gap:16px}.splay-tree-container{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;background:#0f172a;min-height:85vh}.tree-display-area{background:#1e293b80;border-radius:12px;border:1px solid rgba(255,255,255,.1);height:500px;position:relative;overflow:hidden}.tree-node-visual{transition:all .5s cubic-bezier(.4,0,.2,1)}.node-circle{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;background:#1e293b;border:2px solid #64748b;color:#f8fafc;box-shadow:0 4px 6px -1px #0000001a}.node-circle.visiting{border-color:#fbbf24;background:#fbbf241a;color:#fbbf24;transform:scale(1.1)}.node-circle.inserted{border-color:#10b981;background:#10b981;color:#fff}.node-circle.rotated{border-color:#38bdf8;background:#38bdf833;box-shadow:0 0 15px #38bdf866}.node-circle.found{border-color:#fbbf24;background:#fbbf24;color:#0f172a;box-shadow:0 0 20px #fbbf2480}.node-label{margin-top:8px;font-size:.75rem;color:#94a3b8;text-align:center}.rotation-overlay{position:absolute;top:20px;left:20px;background:#0f172acc;padding:.5rem 1rem;border-radius:8px;border:1px solid #38bdf8;font-size:.85rem;color:#38bdf8;font-weight:600;pointer-events:none;z-index:10}.controls-section{width:100%;display:flex;flex-direction:column;gap:1.5rem}.input-field{background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.5rem 1rem;border-radius:6px;width:200px}.btn-add{background:#38bdf8;color:#0f172a;padding:.5rem 1.25rem;border-radius:6px;font-weight:600}.btn-random{background:#ffffff1a;color:#fff;padding:.5rem 1.25rem;border-radius:6px}.legend-bar{display:flex;gap:1.5rem;justify-content:center;padding-bottom:1rem}.legend-dot{width:12px;height:12px;border-radius:50%}.trie-container{display:flex;flex-direction:column;gap:2rem;padding:1.5rem;background:#0f172a;min-height:85vh}.trie-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;height:550px}.tree-canvas-wrapper{background:#1e293b80;border-radius:12px;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.trie-stats-panel{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.info-label{font-size:.75rem;text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;font-weight:700}.word-list{display:flex;flex-wrap:wrap;gap:.5rem;max-height:150px;overflow-y:auto;padding-right:5px}.word-tag{background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8;padding:2px 10px;border-radius:99px;font-size:.75rem;font-weight:600}.path-display{display:flex;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:1.25rem;color:#f8fafc;min-height:2rem}.path-char{background:#334155;padding:2px 8px;border-radius:4px;border-bottom:2px solid #38bdf8}.legend-trie{display:flex;gap:1.5rem;justify-content:center;background:#ffffff08;padding:.75rem 1.5rem;border-radius:99px;align-self:center}.color-indicator{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#cbd5e1}.dot.visiting{background:#fbbf24}.dot.inserted{background:#38bdf8}.dot.end-word{background:#10b981;box-shadow:0 0 8px #10b98180}.trie-controls{display:flex;gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.05);justify-content:center}.word-input{background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.5rem 1rem;border-radius:6px;width:180px}.btn-trie{background:#38bdf8;color:#0f172a;padding:.5rem 1.5rem;border-radius:6px;font-weight:600;transition:all .2s}.btn-trie:hover{background:#0ea5e9;transform:translateY(-2px)}.avl-container{display:flex;flex-direction:column;height:100%;color:var(--text-primary);position:relative;overflow:hidden;transition:color .25s ease}.avl-top-controls{display:flex;flex-direction:column;gap:14px;padding:14px 20px;background:var(--surface-bg);border-bottom:1px solid var(--surface-border);transition:background .25s ease,border-color .25s ease}.avl-input-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.avl-input-row label{font-size:.88rem;font-weight:600;color:var(--text-secondary)}.avl-input-row input{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);color:var(--algo-input-text);padding:8px 12px;border-radius:8px;min-width:220px;font-family:var(--font-mono, monospace);font-size:.93rem;transition:background .2s ease,border-color .2s ease,color .2s ease}.avl-input-row input:focus{outline:2px solid var(--algo-tab-active-color);outline-offset:1px}.avl-input-row button{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#10b981;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:.84rem;font-weight:600;transition:background .2s ease,border-color .2s ease,filter .2s ease}.avl-input-row button:hover{background:#10b98138;border-color:#10b9818c;filter:brightness(1.08)}[data-theme=light] .avl-input-row button{color:#047857}.avl-scenario-row{display:flex;align-items:center;gap:10px;font-size:.83rem;color:var(--text-secondary)}.avl-scenario-row button{background:var(--algo-tab-active-bg);border:1px solid var(--surface-border);color:var(--algo-tab-active-color);padding:4px 10px;border-radius:6px;cursor:pointer;font-size:.79rem;font-weight:600;transition:background .2s ease,filter .2s ease}.avl-scenario-row button:hover{filter:var(--algo-btn-hover-filter, brightness(1.1))}.avl-main-area{display:flex;flex:1;min-height:0;overflow:hidden}.avl-canvas-wrapper{flex:2;background:var(--algo-grid-bg);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;transition:background .25s ease}.avl-svg-canvas{flex:1;width:100%;min-height:0}.avl-stats-grid{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;border-bottom:1px solid var(--surface-border);background:var(--surface-bg);z-index:5;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.avl-stat-card{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:12px;padding:9px 12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:3px;color:var(--text-primary);min-width:0;box-shadow:var(--surface-shadow);transition:background .25s ease,border-color .25s ease}.avl-stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.avl-side-panel{flex:1;min-width:290px;max-width:340px;border-left:1px solid var(--surface-border);overflow-y:auto;background:var(--surface-bg);transition:background .25s ease,border-color .25s ease}.avl-edge{stroke:var(--surface-border);stroke-width:2px;fill:none;transition:stroke .3s ease}.avl-node-group{cursor:default}.avl-node-circle{fill:var(--surface-bg);stroke:var(--text-secondary);stroke-width:2.5px;transition:fill .28s ease,stroke .28s ease,filter .28s ease}.avl-node-text{fill:var(--text-primary);font-size:13px;font-weight:700;font-family:var(--font-mono, monospace);pointer-events:none;transition:fill .2s ease}.state-default .avl-node-circle{fill:var(--surface-bg);stroke:var(--text-secondary)}.state-inserted .avl-node-circle{fill:#fbbf2426;stroke:#fbbf24;stroke-width:3px;filter:drop-shadow(0 0 7px rgba(251,191,36,.45))}.state-inserted .avl-node-text{fill:#d97706}[data-theme=light] .state-inserted .avl-node-text{fill:#92400e}.state-unbalanced .avl-node-circle{fill:#ef44441f;stroke:#ef4444;stroke-width:3px;filter:drop-shadow(0 0 7px rgba(239,68,68,.4))}.state-unbalanced .avl-node-text{fill:#ef4444}[data-theme=light] .state-unbalanced .avl-node-text{fill:#b91c1c}.state-rotating .avl-node-circle{fill:#3b82f61f;stroke:#3b82f6;stroke-width:3px;filter:drop-shadow(0 0 7px rgba(59,130,246,.4))}.state-rotating .avl-node-text{fill:#3b82f6}[data-theme=light] .state-rotating .avl-node-text{fill:#1d4ed8}.state-balanced .avl-node-circle{fill:#22c55e1f;stroke:#22c55e;stroke-width:3px;filter:drop-shadow(0 0 6px rgba(34,197,94,.35))}.state-balanced .avl-node-text{fill:#16a34a}[data-theme=light] .state-balanced .avl-node-text{fill:#15803d}.state-updating .avl-node-circle{fill:#8b5cf61a;stroke:#8b5cf6;stroke-width:2.5px}.state-updating .avl-node-text{fill:#7c3aed}[data-theme=light] .state-updating .avl-node-text{fill:#6d28d9}.state-visiting .avl-node-circle{fill:#22d3ee1a;stroke:#22d3ee;stroke-width:2.5px}.state-visiting .avl-node-text{fill:#0891b2}.avl-bf-tooltip .bf-bg{fill:var(--surface-bg);stroke-width:1px;transition:fill .25s ease}.avl-bf-tooltip .bf-safe{stroke:#22c55e}.avl-bf-tooltip .bf-danger{stroke:#ef4444}.avl-bf-tooltip .bf-text{font-size:9px;font-family:var(--font-mono, monospace);font-weight:700;fill:var(--text-primary);transition:fill .2s ease}.avl-legend{display:flex;flex-direction:column;gap:8px;margin-top:10px}.legend-item{display:flex;align-items:center;gap:10px;font-size:.87rem;color:var(--text-secondary)}.legend-color{width:16px;height:16px;border-radius:50%;border:2px solid;flex-shrink:0}.legend-color.inserted{background:#fbbf2426;border-color:#fbbf24}.legend-color.unbalanced{background:#ef444426;border-color:#ef4444}.legend-color.rotating{background:#3b82f626;border-color:#3b82f6}.legend-color.balanced{background:#22c55e26;border-color:#22c55e}.avl-step-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.avl-step-summary div{padding:10px 12px;border-radius:10px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);display:flex;flex-direction:column;gap:4px;transition:background .25s ease,border-color .25s ease}.avl-step-summary span{font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.avl-step-summary strong{color:var(--text-primary)}.avl-balance-table{display:flex;flex-direction:column;gap:5px;margin-top:10px}.avl-balance-head,.avl-balance-row{display:grid;grid-template-columns:.8fr .8fr .9fr 1.2fr;gap:8px;align-items:center;padding:8px 12px;border-radius:9px;font-size:.82rem}.avl-balance-head{background:var(--algo-tab-active-bg);color:var(--algo-tab-active-color);font-weight:700}.avl-balance-row{background:var(--surface-bg-raised);border:1px solid var(--surface-border);color:var(--text-secondary);transition:background .25s ease,border-color .25s ease}.avl-balance-row .is-safe{color:#22c55e;font-weight:700}.avl-balance-row .is-danger{color:#ef4444;font-weight:700}[data-theme=light] .avl-balance-row .is-safe{color:#15803d}[data-theme=light] .avl-balance-row .is-danger{color:#b91c1c}.avl-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--surface-bg-raised);color:var(--text-muted);width:-moz-fit-content;width:fit-content}.avl-status-pill.status-inserted{background:#fbbf2424;color:#d97706}.avl-status-pill.status-unbalanced{background:#ef444424;color:#ef4444}.avl-status-pill.status-rotating{background:#3b82f624;color:#3b82f6}.avl-status-pill.status-balanced{background:#22c55e24;color:#22c55e}.avl-status-pill.status-updating,.avl-status-pill.status-visiting{background:#8b5cf624;color:#8b5cf6}[data-theme=light] .avl-status-pill.status-inserted{color:#92400e}[data-theme=light] .avl-status-pill.status-unbalanced{color:#b91c1c}[data-theme=light] .avl-status-pill.status-rotating{color:#1d4ed8}[data-theme=light] .avl-status-pill.status-balanced{color:#15803d}[data-theme=light] .avl-status-pill.status-updating,[data-theme=light] .avl-status-pill.status-visiting{color:#6d28d9}.avl-controls-wrapper{background:var(--surface-bg);border-top:1px solid var(--surface-border);padding:10px 20px;transition:background .25s ease,border-color .25s ease}@media(max-width:1024px){.avl-main-area{flex-direction:column}.avl-side-panel{min-width:100%;max-width:none;border-left:none;border-top:1px solid var(--surface-border)}}@media(max-width:768px){.avl-stats-grid{gap:6px;padding:8px 10px}.avl-stat-card{min-width:90px;flex:1 1 calc(50% - 6px)}.avl-balance-head,.avl-balance-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.rb-tree-container{display:flex;flex-direction:column;gap:1.5rem;padding:0;flex:1;height:100%;justify-content:flex-start}.tree-display-area{background:#1e293b80;border-radius:12px;border:1px solid rgba(255,255,255,.1);height:480px;position:relative;overflow:hidden}.legend-bar{display:flex;gap:1.5rem;justify-content:center;padding-bottom:.5rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#94a3b8}.l-dot{width:12px;height:12px;border-radius:50%}.controls-section{width:100%;display:flex;flex-direction:column;gap:1rem;background:#1e293b4d;padding:1.2rem;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.rbt-dashboard{display:flex;gap:1.5rem;flex-wrap:wrap;background:#0f172a66;border:1px solid rgba(255,255,255,.05);padding:1.5rem;border-radius:12px}.rbt-input-section{flex:1;min-width:300px;display:flex;flex-direction:column;gap:1rem}.rbt-properties-section{flex:1.5;min-width:400px;display:flex;flex-direction:column;gap:.75rem;background:#1e293b80;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.rbt-props-grid{display:flex;gap:1rem;justify-content:space-between}.rbt-prop-card{background:#0f172a99;padding:.8rem;border-radius:6px;text-align:center;flex:1;border:1px solid rgba(56,189,248,.1)}.rbt-prop-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;display:block}.rbt-prop-value{font-size:1rem;font-weight:600;color:#38bdf8}.rbt-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#64748b;pointer-events:none}.rbt-empty-state h3{margin:0 0 10px;color:#94a3b8}.input-group{display:flex;gap:.75rem;justify-content:center;align-items:center}.input-field{background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.6rem 1rem;border-radius:6px;width:180px;outline:none;transition:border-color .2s}.input-field:focus{border-color:#38bdf8}.btn-add{background:#ef4444;color:#fff;padding:.6rem 1.25rem;border-radius:6px;font-weight:600;transition:filter .2s}.btn-add:hover{filter:brightness(1.2)}.btn-random{background:#ffffff0d;color:#cbd5e1;padding:.6rem 1.25rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);transition:background .2s}.btn-random:hover{background:#ffffff1a}.cs-controls-wrapper{display:flex;justify-content:center}.hp-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.hp-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hp-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.hp-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.hp-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.hp-input-group{display:flex;align-items:center;gap:8px}.hp-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.hp-text-input{width:130px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.hp-text-input:focus{border-color:#c084fc}.hp-btn-group{display:flex;align-items:center;gap:8px}.hp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.hp-btn:hover{transform:translateY(-1px)}.hp-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.hp-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.hp-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.hp-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.hp-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.hp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hp-dot.yellow{background:#fbbf24}.hp-dot.green{background:#10b981}.hp-dot.purple{background:#c084fc}.hp-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.hp-tree-panel{flex:1;min-height:200px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column}.hp-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.hp-card-title code{color:#c084fc;font-family:Fira Code,monospace}.hp-canvas-box{flex:1;min-height:180px;position:relative}.hp-array-panel{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.hp-array-grid{display:flex;gap:8px;flex-wrap:wrap}.hp-chip-wrapper{display:flex;flex-direction:column;align-items:center}.hp-chip{min-width:44px;height:48px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.hp-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.hp-idx{font-size:.62rem;color:var(--text-muted);font-weight:600;margin-top:4px}.hp-chip.state-compare{background:#fbbf2440;border-color:#fbbf24;transform:scale(1.08)}.hp-chip.state-compare .hp-val{color:#fbbf24}.hp-chip.state-swap{background:#c084fc40;border-color:#c084fc;transform:scale(1.08)}.hp-chip.state-swap .hp-val{color:#c084fc}.hp-controls-wrapper{flex-shrink:0}@media(max-width:768px){.hp-input-panel{flex-direction:column;align-items:stretch}.hp-legend{margin-left:0;flex-wrap:wrap}}.ks-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.ks-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ks-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.ks-badge-desc{font-size:.9rem;color:var(--text-primary);font-weight:600}.ks-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.ks-input-group{display:flex;align-items:center;gap:8px}.ks-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ks-text-input{width:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.ks-text-input:focus{border-color:#c084fc}.ks-number-input{width:65px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 10px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.ks-number-input:focus{border-color:#c084fc}.ks-btn-group{display:flex;align-items:center;gap:8px}.ks-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.ks-btn:hover{transform:translateY(-1px)}.ks-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.ks-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.ks-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.ks-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.ks-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ks-dot.yellow{background:#fbbf24}.ks-dot.blue{background:#38bdf8}.ks-dot.green{background:#10b981}.ks-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.ks-table-card{flex:1;min-width:0;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.ks-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ks-card-title code{color:#c084fc;font-family:Fira Code,monospace}.ks-table-scroll{overflow-x:auto}.ks-dp-table{border-collapse:collapse;width:100%;font-size:.85rem}.ks-dp-table th,.ks-dp-table td{padding:6px 10px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.ks-dp-table th{background:var(--surface-bg);color:var(--text-secondary);font-size:.76rem;font-weight:700}.ks-dp-table td{color:var(--text-primary);font-weight:700;transition:background .2s ease,border-color .2s ease}.ks-dp-table td.cell-computing{background:#fbbf2440;color:#fbbf24;font-weight:800}.ks-dp-table td.cell-filled{background:#38bdf826;color:#38bdf8}.ks-dp-table td.cell-optimal-path{background:#10b98140;color:#10b981;font-weight:800}.ks-inventory-card{flex:0 0 200px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.ks-item-list{display:flex;flex-direction:column;gap:6px}.ks-item-chip{padding:8px 10px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;display:flex;justify-content:space-between;align-items:center;transition:background .2s ease,border-color .2s ease}.item-name{font-size:.8rem;font-weight:700;color:var(--text-secondary)}.item-badges{display:flex;gap:4px}.badge{padding:2px 6px;border-radius:4px;font-size:.68rem;font-weight:700;font-family:Fira Code,monospace}.badge-w{background:#94a3b826;color:var(--text-muted)}.badge-v{background:#38bdf826;color:#38bdf8}.ks-item-chip.active{background:#fbbf2433;border-color:#fbbf24}.ks-item-chip.active .item-name{color:#fbbf24}.ks-controls-wrapper{flex-shrink:0}@media(max-width:900px){.ks-canvas-wrapper{flex-direction:column}.ks-inventory-card{flex:0 0 auto}.ks-input-panel{flex-direction:column;align-items:stretch}.ks-legend{margin-left:0;flex-wrap:wrap}}.cc-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.cc-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cc-badge{font-size:.8rem;background:#6366f11f;border:1px solid rgba(99,102,241,.3);padding:3px 10px;border-radius:6px;color:#a5b4fc;font-weight:700;white-space:nowrap}.cc-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.cc-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.cc-input-group{display:flex;align-items:center;gap:8px}.cc-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.cc-text-input{width:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.cc-text-input:focus{border-color:#6366f1}.cc-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.cc-number-input:focus{border-color:#6366f1}.cc-btn-group{display:flex;align-items:center;gap:8px;margin-left:auto}.cc-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.cc-btn:hover{transform:translateY(-1px)}.cc-btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.cc-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.cc-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.cc-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.cc-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;transition:background .25s ease,border-color .25s ease}.cc-card-title{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center}.cc-card-title code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;color:#a5b4fc;font-size:.8rem;font-family:Fira Code,monospace}.cc-dp-row{display:flex;gap:8px;flex-wrap:wrap}.cc-dp-cell{min-width:48px;height:52px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.cell-idx{font-size:.64rem;color:var(--text-muted);font-weight:600}.cell-val{font-size:1.1rem;font-weight:800;color:#a5b4fc;font-family:Fira Code,monospace}.cc-dp-cell.active,.cc-dp-cell.updating{background:#fbbf2433;border-color:#fbbf24;transform:scale(1.08)}.cc-dp-cell.active .cell-val,.cc-dp-cell.updating .cell-val{color:#fbbf24}.cc-dp-cell.dependency{background:#38bdf82e;border-color:#38bdf8;transform:scale(1.05)}.cc-dp-cell.dependency .cell-val{color:#38bdf8}.cc-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.coins-grid{display:flex;gap:8px;flex-wrap:wrap}.coin-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:20px;font-size:.88rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace;transition:background .2s ease,border-color .2s ease,color .2s ease}.coin-chip.active{background:#6366f133;border-color:#6366f1;color:#a5b4fc}.cc-logic-step code{display:block;font-size:.92rem;background:var(--surface-bg);padding:10px;border-radius:8px;color:#a5b4fc;font-family:Fira Code,monospace;border-left:3px solid #6366f1}.cc-controls-wrapper{flex-shrink:0}@media(max-width:768px){.cc-input-panel{flex-direction:column;align-items:stretch}.cc-btn-group{margin-left:0}.cc-info-grid{grid-template-columns:1fr}}.ccw-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.ccw-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ccw-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.ccw-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.ccw-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.ccw-input-group{display:flex;align-items:center;gap:8px}.ccw-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ccw-text-input{width:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.ccw-text-input:focus{border-color:#10b981}.ccw-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.ccw-number-input:focus{border-color:#10b981}.ccw-btn-group{display:flex;align-items:center;gap:8px;margin-left:auto}.ccw-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.ccw-btn:hover{transform:translateY(-1px)}.ccw-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.ccw-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.ccw-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.ccw-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.ccw-table-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:12px}.ccw-card-header{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.ccw-card-header code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;color:#10b981;font-size:.8rem;font-family:Fira Code,monospace}.ccw-legend-pills{display:flex;gap:10px}.leg-pill{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:6px}.leg-pill.exclude{background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3)}.leg-pill.include{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.ccw-table-scroll{overflow-x:auto}.ccw-dp-table{border-collapse:collapse;width:100%;font-size:.88rem}.ccw-dp-table th,.ccw-dp-table td{padding:8px 12px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.ccw-dp-table th{background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:700}.ccw-dp-table td{color:var(--text-primary);font-weight:700;transition:background .2s ease,border-color .2s ease}.ccw-dp-table td.cell-active{background:#fbbf2440;color:#fbbf24;font-weight:800}.ccw-dp-table td.cell-updated{background:#10b98140;color:#10b981;font-weight:800}.ccw-dp-table td.cell-exclude{background:#38bdf826;color:#38bdf8}.ccw-dp-table td.cell-include{background:#a855f726;color:#c084fc}.ccw-dp-table td.cell-result{background:#10b9814d;color:#10b981;font-weight:900;box-shadow:0 0 15px #10b98166}.ccw-controls-wrapper{flex-shrink:0}@media(max-width:768px){.ccw-input-panel{flex-direction:column;align-items:stretch}.ccw-btn-group{margin-left:0}}.ed-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.ed-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ed-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.ed-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.ed-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.ed-input-group{display:flex;align-items:center;gap:8px}.ed-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.ed-text-input{width:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.ed-text-input:focus{border-color:#c084fc}.ed-btn-group{display:flex;align-items:center;gap:8px}.ed-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.ed-btn:hover{transform:translateY(-1px)}.ed-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.ed-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.ed-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.ed-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.ed-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ed-dot.yellow{background:#fbbf24}.ed-dot.blue{background:#38bdf8}.ed-dot.green{background:#10b981}.ed-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.ed-table-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:12px}.ed-card-header{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ed-card-header code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;color:#c084fc;font-size:.8rem;font-family:Fira Code,monospace}.ed-table-scroll{overflow-x:auto}.ed-dp-table{border-collapse:collapse;width:100%;font-size:.88rem}.ed-dp-table th,.ed-dp-table td{padding:8px 12px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.ed-dp-table th{background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:700}.ed-dp-table td{color:var(--text-primary);font-weight:700;transition:background .2s ease,border-color .2s ease}.ed-dp-table td.cell-computing{background:#fbbf2440;color:#fbbf24;font-weight:800}.ed-dp-table td.cell-dependency{background:#38bdf82e;color:#38bdf8}.ed-dp-table td.cell-match{background:#10b9812e;color:#10b981}.ed-controls-wrapper{flex-shrink:0}@media(max-width:768px){.ed-input-panel{flex-direction:column;align-items:stretch}.ed-legend{margin-left:0;flex-wrap:wrap}}.lcs-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.lcs-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lcs-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.lcs-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.lcs-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.lcs-input-group{display:flex;align-items:center;gap:8px}.lcs-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.lcs-text-input{width:120px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.lcs-text-input:focus{border-color:#10b981}.lcs-btn-group{display:flex;align-items:center;gap:8px}.lcs-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.lcs-btn:hover{transform:translateY(-1px)}.lcs-btn-primary{background:linear-gradient(135deg,#10b981,#047857);color:#fff}.lcs-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.lcs-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.lcs-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.lcs-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.lcs-dot.yellow{background:#fbbf24}.lcs-dot.green{background:#10b981}.lcs-dot.blue{background:#38bdf8}.lcs-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.lcs-table-card{flex:1;min-width:0;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.lcs-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.lcs-card-title code{color:#10b981;font-family:Fira Code,monospace}.lcs-table-scroll{overflow-x:auto}.lcs-dp-grid{border-collapse:collapse;width:100%;font-size:.85rem}.lcs-dp-grid th,.lcs-dp-grid td{padding:6px 10px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.lcs-dp-grid th{background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:700}.lcs-dp-grid th.char-matched{color:#10b981;font-weight:900}.lcs-dp-grid td{color:var(--text-primary);font-weight:700;transition:background .2s ease,border-color .2s ease}.lcs-dp-grid td.cell-computing{background:#fbbf2440;color:#fbbf24;font-weight:800}.lcs-dp-grid td.cell-matched,.lcs-dp-grid td.cell-match{background:#10b98140;color:#10b981;font-weight:800}.lcs-dp-grid td.cell-mismatch{background:#38bdf826;color:#38bdf8}.lcs-dp-grid td.cell-optimal-path{background:#a855f740;color:#c084fc;font-weight:800}.lcs-info-card{flex:0 0 200px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px}.char-compare-box{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:var(--surface-bg);border-radius:10px;border:1px solid var(--surface-border)}.char-badge{padding:6px 12px;background:#38bdf826;border:1px solid #38bdf8;border-radius:8px;font-size:1.1rem;font-weight:900;color:#38bdf8;font-family:Fira Code,monospace}.compare-op{font-size:1.2rem;font-weight:900;color:var(--text-secondary)}.lcs-result-box{display:flex;flex-direction:column;align-items:center;padding:10px;background:#10b9811f;border:1px solid #10b981;border-radius:10px}.res-lbl{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.res-val{font-size:1.1rem;font-weight:900;color:#10b981;font-family:Fira Code,monospace}.lcs-controls-wrapper{flex-shrink:0}@media(max-width:900px){.lcs-canvas-wrapper{flex-direction:column}.lcs-info-card{flex:0 0 auto}.lcs-input-panel{flex-direction:column;align-items:stretch}.lcs-legend{margin-left:0;flex-wrap:wrap}}.lis-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.lis-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.lis-input-group{display:flex;align-items:center;gap:.5rem}.lis-input-group label{font-weight:600;color:var(--text-secondary)}.lis-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:280px;transition:all .2s}.lis-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.lis-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.lis-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column;overflow-x:auto}.lis-workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.lis-hud-badge{background:#a855f726;color:#9333ea;padding:.5rem 1rem;border-radius:6px;font-size:1.1rem;border:1px solid #a855f7;display:flex;align-items:center;gap:.5rem}.lis-main-display{display:flex;flex-direction:column;align-items:center;gap:2rem;margin:1rem 0}.lis-arrays-wrapper{display:flex;flex-direction:column;gap:.2rem}.lis-row{display:flex;align-items:flex-end;gap:15px}.dp-row{align-items:flex-start;background:#ffffff05;padding:1rem 0;border-radius:12px;box-shadow:inset 0 0 10px #0000000d}.lis-row-label{width:60px;font-family:monospace;font-weight:700;font-size:1.1rem;color:var(--text-secondary);text-align:right;padding-bottom:25px}.dp-row .lis-row-label{padding-bottom:0;padding-top:15px}.lis-cells{display:flex;gap:12px}.lis-item-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;width:50px}.lis-status-label{position:absolute;top:-30px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);z-index:10}.lbl-i{color:#ca8a04;border-color:#eab308;background:#fefce8}.lbl-j{color:#2563eb;border-color:#3b82f6;background:#eff6ff}.lis-box{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.1rem;transition:background-color .3s,border-color .3s,opacity .3s;position:relative;z-index:5}.lis-dp-box{width:50px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px dashed var(--border-color);border-radius:6px;font-weight:700;font-size:1rem;color:var(--text-primary);transition:background-color .3s,border-color .3s,transform .3s}.lis-idx{font-size:.8rem;color:var(--text-secondary)}.pending-box{opacity:.5}.current-i-box{border-color:#eab308;background:#eab30833;color:#ca8a04;box-shadow:0 0 15px #eab3084d;z-index:8}.valid-update-box{border-color:#3b82f6;background:#3b82f633;color:#2563eb}.valid-noupdate-box{border-color:#3b82f6;background:transparent;color:#3b82f6;opacity:.7}.invalid-box{border-color:#ef4444;background:#ef44441a;color:#dc2626;opacity:.6}.final-box{border-color:#a855f7;background:#a855f733;color:#9333ea;box-shadow:0 0 15px #a855f766;z-index:9}.dp-default{border-color:var(--border-color)}.dp-i{border-style:solid;border-color:#eab308;background:#eab3081a}.dp-j{border-style:solid;border-color:#3b82f6;background:#3b82f61a}.dp-set{border-style:solid;border-color:#22c55e;background:#22c55e33;color:#16a34a;transform:scale(1.1);box-shadow:0 0 10px #22c55e4d}.dp-final{border-style:solid;border-color:#a855f7;background:#a855f726;color:#9333ea}.lis-path-panel{align-self:flex-start;margin-top:1rem;padding:1.5rem;background:#a855f70d;border:1px solid rgba(168,85,247,.3);border-radius:12px;width:100%}.path-title{display:block;font-weight:700;color:#9333ea;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}.path-trace{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.path-element{display:flex;flex-direction:column;align-items:center;background:var(--bg-color);border:2px solid #a855f7;padding:.5rem 1rem;border-radius:8px;box-shadow:0 4px 6px #a855f733}.path-val{font-size:1.2rem;font-weight:700;color:#9333ea}.path-idx{font-size:.75rem;color:var(--text-secondary)}.path-arrow{font-size:1.5rem;color:#a855f7;opacity:.7}.lis-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.lis-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.mcm-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.mcm-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.mcm-input-group{display:flex;align-items:center;gap:.5rem}.mcm-input-group label{font-weight:600;color:var(--text-secondary)}.mcm-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:250px;transition:all .2s}.mcm-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.mcm-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--surface-hover);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color)}.mcm-visual-grid{display:flex;flex-direction:column;gap:1.5rem}.mcm-dp-panel{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);overflow-x:auto}.panel-label{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.mcm-matrix-chain{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;margin-bottom:.5rem}.matrix-blocks{display:flex;gap:15px;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem}.matrix-block{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;padding:1rem;min-width:80px;transition:all .3s}.m-id{font-weight:700;font-size:1.2rem;margin-bottom:.25rem}.m-dim{font-size:.85rem;color:var(--text-secondary)}.matrix-block.active-block{border-color:#eab308;background:#eab3081a}.matrix-block.split-left{border-color:#3b82f6;background:#3b82f626}.matrix-block.split-right{border-color:#06b6d4;background:#06b6d426}.parens-display{font-size:1.1rem;padding:.75rem 1.5rem;background:var(--surface-hover);border-radius:8px;border-left:4px solid var(--primary)}.parens-text{font-family:monospace;font-size:1.2rem;color:var(--primary);font-weight:700;letter-spacing:2px}.mcm-table-wrapper{display:flex;justify-content:center}.mcm-dp-table{border-collapse:collapse;font-family:monospace;font-size:1rem}.mcm-dp-table th,.mcm-dp-table td{border:1px solid var(--border-color);padding:.75rem 1rem;text-align:center;min-width:60px}.mcm-dp-table th{background:var(--surface-hover);color:var(--text-secondary);font-weight:600}.dp-cell{background:var(--bg-color);transition:all .3s ease;position:relative}.dp-cell .val{font-weight:700;font-size:1.1rem}.dp-cell .split-val{font-size:.7rem;color:var(--text-secondary);margin-top:2px}.empty-cell{background:var(--surface-hover);color:var(--text-secondary)}.dp-cell.active-cell{background:#eab30826;box-shadow:inset 0 0 0 2px #eab308;color:#ca8a04}.dp-cell.highlight-lookup{background:#3b82f626;color:#2563eb;box-shadow:inset 0 0 0 1px #3b82f6}.dp-cell.filled-cell{background:#a855f726;color:#9333ea}.mcm-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.mcm-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.dot.teal{background:#06b6d4}.rc-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.rc-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a}.rc-input-group{display:flex;align-items:center;gap:.5rem}.rc-input-group label{font-weight:600;color:var(--text-secondary)}.rc-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;width:250px;transition:all .2s}.rc-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.rc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.rc-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.panel-label{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem}.rc-rod-workspace{min-height:120px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.rc-rod-placeholder{color:var(--text-secondary);font-style:italic}.rc-rod-displaying-eval{width:100%;max-width:800px;display:flex;flex-direction:column;gap:1rem}.rc-rod-title{font-weight:600;color:#eab308;background:#eab30826;padding:.25rem .75rem;border-radius:4px;align-self:flex-start}.rc-rod-display{width:100%;height:40px;display:flex;gap:2px;border-radius:6px;overflow:hidden;position:relative;background:var(--surface);border:1px solid var(--border-color)}.optimal-cut-view{border:2px solid #22c55e;box-shadow:0 0 10px #22c55e4d}.rc-rod-segment{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;transition:all .3s ease;border-right:1px dashed rgba(255,255,255,.2)}.rc-rod-segment:last-child{border-right:none}.rc-rod-label{line-height:1}.rc-rod-price{font-size:.75rem;opacity:.9}.building-piece{background:#eab308;color:#000}.cut-piece{background:#3b82f6;color:#fff}.remainder-piece{background:#a855f7;color:#fff;opacity:.8}.optimal{background:#22c55e;color:#eff6ff;border-right:2px solid #fff}.rc-eval-equation{font-family:monospace;font-size:1.1rem;background:var(--surface-hover);padding:.5rem 1rem;border-radius:6px;align-self:flex-end}.blue-txt{color:#3b82f6}.purple-txt{color:#a855f7}.rc-dp-table-container{overflow-x:auto;margin-top:.5rem}.rc-dp-table{width:100%;border-collapse:collapse;background:var(--bg-color);border-radius:8px;overflow:hidden}.rc-dp-table th,.rc-dp-table td{padding:.75rem;text-align:center;border:1px solid var(--border-color);font-size:.95rem;transition:all .3s}.rc-dp-table th{background:var(--surface-hover);font-weight:600}.active-col{background:#eab30833!important;color:#ca8a04}.active-price{background:#3b82f633!important;color:#2563eb;font-weight:700}.computing-cell{background:#eab30833;color:#ca8a04}.remainder-lookup{background:#a855f733;color:#9333ea;box-shadow:inset 0 0 0 2px #a855f7}.best-profit-cell{background:#22c55e33;color:#16a34a;font-weight:700}.dp-updated-cell{background:#22c55e;color:#fff;font-weight:700}.dp-locked-cell{background:#22c55e0d;color:var(--text-primary)}.dp-finished-cell{background:#22c55e1a;color:#16a34a;font-weight:700}.rc-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.rc-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.subset-container{display:flex;flex-direction:column;height:100%;gap:15px;padding:10px}.subset-input-bar{display:flex;justify-content:space-between;align-items:center;background:#1e293b;padding:15px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.subset-inputs{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.subset-input-group{display:flex;align-items:center;gap:10px}.subset-label{font-size:.9rem;color:#94a3b8;font-weight:600}.subset-array-input{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;width:250px;transition:all .2s}.subset-target-input{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;width:80px;text-align:center}.subset-main-area{display:flex;gap:20px;flex:1;min-height:0}.subset-table-container{flex:2;background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:auto;padding:20px;position:relative;display:flex;flex-direction:column;align-items:center}.subset-table-scroll{overflow:auto;max-height:calc(100% - 70px);width:100%}.subset-table{border-collapse:separate;border-spacing:4px;margin:0 auto}.subset-table th{background:#0f172acc;color:#94a3b8;font-size:.8rem;font-weight:700;padding:10px;border-radius:6px;position:sticky;top:0;z-index:10}.subset-table th.row-header{left:0;z-index:11;min-width:60px}.subset-cell{width:40px;height:40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;display:flex;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;color:#94a3b8;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.subset-cell.true-val{color:#a7f3d0;background:#10b9811a;border-color:#10b9814d}.subset-cell.false-val{color:#fecaca;background:#ef44441a;border-color:#ef44444d}.subset-cell.cell-active{background:#eab30833;border-color:#eab308;color:#fde047;box-shadow:0 0 15px #eab3084d;transform:scale(1.08);z-index:5}.subset-cell.cell-exclude{background:#38bdf833;border-color:#38bdf8;box-shadow:0 0 10px #38bdf833}.subset-cell.cell-include{background:#f472b633;border-color:#f472b6;box-shadow:0 0 10px #f472b633}.subset-cell.trace-path{background:#10b98166;border-color:#10b981;color:#fff;box-shadow:0 0 15px #10b98180;transform:scale(1.05)}.subset-cell.trace-head{background:#eab30880;border-color:#eab308;color:#fff;box-shadow:0 0 20px #eab30899;transform:scale(1.1);z-index:6}.subset-array-display{display:flex;justify-content:center;gap:8px;margin-top:20px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.1);width:100%}.subset-array-item{width:50px;height:50px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#0f172a;border:2px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-weight:600;transition:all .3s ease}.subset-array-item-index{font-size:.65rem;color:#94a3b8;margin-bottom:2px}.subset-array-item.chosen{background:#10b98133;border-color:#10b981;color:#a7f3d0;box-shadow:0 0 15px #10b9814d;transform:translateY(-5px)}.subset-array-item.currently-checking{border-color:#eab308;box-shadow:0 0 10px #eab3084d}.subset-side-panel{flex:1;display:flex;flex-direction:column;gap:15px;min-width:250px}.subset-info-card{background:#1e293b;border-radius:12px;padding:15px;border:1px solid rgba(255,255,255,.1)}.subset-info-title{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#94a3b8;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700}.subset-formula-box{background:#0f172a99;border-radius:8px;padding:15px;margin-bottom:15px;border-left:3px solid #eab308}.subset-formula-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem}.subset-f-blue{color:#38bdf8;font-weight:700}.subset-f-pink{color:#f472b6;font-weight:700}.subset-f-green{color:#10b981;font-weight:700}.subset-f-red{color:#ef4444;font-weight:700}.subset-calc-result{margin-top:15px;padding-top:15px;border-top:1px dashed rgba(255,255,255,.2);text-align:center;font-size:1.1rem}.subset-legend{display:flex;flex-direction:column;gap:10px}.subset-legend-item{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#cbd5e1}.subset-legend-color{width:14px;height:14px;border-radius:4px}.subset-l-yellow{background:#eab30866;border:1px solid #eab308}.subset-l-blue{background:#38bdf866;border:1px solid #38bdf8}.subset-l-pink{background:#f472b666;border:1px solid #f472b6}.subset-l-green{background:#10b98166;border:1px solid #10b981}.subset-controls-wrapper{background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:10px}.activity-container{display:flex;flex-direction:column;height:100%;gap:15px;padding:10px}.activity-input-bar{display:flex;justify-content:space-between;align-items:center;background:#1e293b;padding:15px 20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.activity-inputs{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.activity-input-group{display:flex;align-items:center;gap:10px}.activity-label{font-size:.9rem;color:#94a3b8;font-weight:600}.activity-array-input{background:#0f172a;border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;width:350px;transition:all .2s}.activity-main-area{display:flex;gap:20px;flex:1;min-height:0}.activity-timeline-container{flex:2;background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.1);overflow:hidden;padding:20px;display:flex;flex-direction:column;position:relative}.activity-axis{display:flex;position:relative;height:30px;border-bottom:2px dashed rgba(255,255,255,.2);margin-bottom:20px}.activity-axis-tick{position:absolute;bottom:-5px;font-size:.75rem;color:#94a3b8;transform:translate(-50%)}.activity-axis-tick:before{content:"";position:absolute;top:-5px;left:50%;width:1px;height:5px;background:#ffffff4d}.activity-bars-scroll{flex:1;overflow-y:auto;position:relative;padding-bottom:20px}.activity-bar-wrapper{position:absolute;height:40px;transition:top .5s cubic-bezier(.4,0,.2,1);display:flex;align-items:center}.activity-bar{height:30px;background:#38bdf8;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#0f172a;box-shadow:0 2px 5px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border:2px solid transparent}.activity-bar.state-default{background:#38bdf866;color:#bae6fd;border-color:#38bdf8}.activity-bar.state-comparing{background:#eab308cc;color:#422006;border-color:#fef08a;box-shadow:0 0 15px #eab30880;transform:scaleY(1.1);z-index:10}.activity-bar.state-selected{background:#10b981cc;color:#ecfdf5;border-color:#34d399;box-shadow:0 0 10px #10b98166}.activity-bar.state-rejected{background:#ef44444d;color:#fca5a5;border-color:#ef4444;opacity:.6}.activity-times-tooltip{position:absolute;top:-22px;background:#0f172ae6;color:#fff;font-size:.7rem;padding:2px 6px;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}.activity-bar:hover .activity-times-tooltip{opacity:1}.activity-boundary-line{position:absolute;top:50px;bottom:0;width:2px;background:#eab308;box-shadow:0 0 10px #eab308;transition:left .4s ease-in-out;z-index:5;pointer-events:none}.activity-boundary-label{position:absolute;top:0;left:50%;transform:translate(-50%) translateY(-100%);background:#eab30833;color:#fde047;border:1px solid #eab308;padding:2px 6px;border-radius:4px;font-size:.75rem;white-space:nowrap}.activity-side-panel{flex:1;display:flex;flex-direction:column;gap:15px;min-width:250px}.activity-info-card{background:#1e293b;border-radius:12px;padding:15px;border:1px solid rgba(255,255,255,.1);flex:1;display:flex;flex-direction:column}.activity-info-title{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#94a3b8;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:700}.activity-schedule-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:5px}.activity-schedule-item{background:#10b9811a;border-left:4px solid #10b981;border-radius:4px;padding:10px;display:flex;justify-content:space-between;align-items:center;animation:slideInAct .3s ease-out}@keyframes slideInAct{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.activity-schedule-id{font-weight:700;color:#34d399}.activity-schedule-time{font-family:monospace;color:#94a3b8;font-size:.9rem}.activity-legend{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:15px;border-top:1px dashed rgba(255,255,255,.1)}.activity-legend-item{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#cbd5e1}.activity-legend-color{width:14px;height:14px;border-radius:4px}.act-l-blue{background:#38bdf866;border:1px solid #38bdf8}.act-l-yellow{background:#eab308cc;border:1px solid #fef08a}.act-l-green{background:#10b981cc;border:1px solid #34d399}.act-l-red{background:#ef44444d;border:1px solid #ef4444}.activity-controls-wrapper{background:#1e293b;border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:10px}.huf-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.huf-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.huf-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.huf-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.huf-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.huf-input-group{display:flex;align-items:center;gap:8px}.huf-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.huf-text-input{width:200px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.huf-text-input:focus{border-color:#10b981}.huf-btn-group{display:flex;align-items:center;gap:8px}.huf-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.huf-btn:hover{transform:translateY(-1px)}.huf-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.huf-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.huf-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.huf-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.huf-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.huf-dot.green{background:#10b981}.huf-dot.blue{background:#38bdf8}.huf-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.huf-tree-panel{flex:1;min-width:0;min-height:240px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column}.huf-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.huf-canvas-box{flex:1;min-height:200px;position:relative}.huf-stats-panel{flex:0 0 240px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:12px}.huf-codes-grid{display:flex;gap:6px;flex-wrap:wrap}.huf-code-chip{padding:4px 8px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:6px;display:flex;gap:6px;font-size:.82rem;font-family:Fira Code,monospace}.huf-code-chip .char{color:#fbbf24;font-weight:800}.huf-code-chip .code{color:#10b981;font-weight:800}.huf-compression-box{margin-top:auto;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--text-secondary)}.huf-compression-box strong{color:var(--text-primary);font-family:Fira Code,monospace}.huf-compression-box .savings strong{color:#10b981;font-size:.95rem}.huf-controls-wrapper{flex-shrink:0}@media(max-width:900px){.huf-canvas-wrapper{flex-direction:column}.huf-stats-panel{flex:0 0 auto}}.fk-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.fk-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fk-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.fk-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.fk-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.fk-input-group{display:flex;align-items:center;gap:8px}.fk-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.fk-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.fk-text-input:focus{border-color:#10b981}.fk-number-input{width:70px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.fk-number-input:focus{border-color:#10b981}.fk-btn-group{display:flex;align-items:center;gap:8px}.fk-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.fk-btn:hover{transform:translateY(-1px)}.fk-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.fk-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.fk-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.fk-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.fk-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.fk-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fk-dot.yellow{background:#fbbf24}.fk-dot.green{background:#10b981}.fk-dot.blue{background:#38bdf8}.fk-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.fk-meter-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.meter-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase}.meter-stats{color:#10b981;font-family:Fira Code,monospace;font-weight:800}.meter-track{height:14px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:99px;overflow:hidden}.meter-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:99px;transition:width .3s ease}.fk-items-grid{display:flex;gap:12px;flex-wrap:wrap}.fk-item-card{flex:1;min-width:120px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.item-header{font-size:.78rem;font-weight:800;color:var(--text-muted);text-transform:uppercase}.item-details{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--text-secondary)}.item-details strong{color:var(--text-primary);font-family:Fira Code,monospace}.item-details .ratio strong{color:#fbbf24}.item-taken{font-size:.78rem;font-weight:700;color:var(--text-muted);border-top:1px solid var(--surface-border);padding-top:6px;margin-top:4px}.item-taken strong{color:#10b981;font-family:Fira Code,monospace}.fk-item-card.considering{background:#fbbf2426;border-color:#fbbf24;transform:scale(1.04)}.fk-item-card.full{background:#10b98126;border-color:#10b981}.fk-item-card.fraction{background:#38bdf826;border-color:#38bdf8}.fk-controls-wrapper{flex-shrink:0}@media(max-width:768px){.fk-input-panel{flex-direction:column;align-items:stretch}.fk-legend{margin-left:0;flex-wrap:wrap}}.sentinel-container{display:flex;flex-direction:column;gap:1.5rem;height:100%}.sentinel-input-bar{display:flex;gap:1rem;align-items:center;background:var(--surface);padding:1rem;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-wrap:wrap}.sentinel-input-group{display:flex;align-items:center;gap:.5rem}.sentinel-input-group label{font-weight:600;color:var(--text-secondary)}.sentinel-value-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.95rem;transition:all .2s}.sentinel-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.sentinel-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s}.sentinel-visual-workspace{background:var(--surface);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);flex:1;display:flex;flex-direction:column}.sentinel-top-hud{display:flex;justify-content:center;margin-bottom:2.5rem}.sentinel-info-board{background:#a855f71a;border:1px solid #a855f7;color:var(--text-primary);border-radius:8px;padding:.8rem 1.5rem;text-align:center;font-size:1.2rem}.sentinel-info-board strong{color:#9333ea;font-size:1.4rem}.sentinel-main-array{display:flex;justify-content:center;gap:12px;margin:2rem 0;min-height:120px;align-items:flex-end;flex-wrap:wrap}.sentinel-item-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.sentinel-status-label{position:absolute;top:-30px;font-size:.75rem;font-weight:600;white-space:nowrap;background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);z-index:10}.sentinel-box{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;font-weight:700;font-size:1.1rem;transition:background-color .3s,border-color .3s,opacity .3s;position:relative;z-index:5}.sentinel-idx{font-size:.8rem;color:var(--text-secondary)}.default-box{border-color:var(--border-color)}.discarded-box{border-color:var(--border-color);opacity:.3}.scan-box{border-color:#eab308;background:#eab30833;color:#ca8a04;box-shadow:0 0 15px #eab3084d;z-index:8}.scan-lbl{color:#ca8a04;border-color:#eab308;background:#fefce8}.sentinel-node-box{border-color:#a855f7;background:#a855f726;color:#9333ea;box-shadow:0 0 15px #a855f733}.sentinel-lbl{color:#9333ea;border-color:#a855f7;background:#faf5ff}.found-box{border-color:#22c55e;background:#22c55e33;color:#16a34a;box-shadow:0 0 15px #22c55e66}.found-lbl{color:#16a34a;border-color:#22c55e}.sentinel-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--surface);border-radius:12px;border:1px solid var(--border-color)}.sentinel-legend{display:flex;gap:1.5rem;flex-wrap:wrap}.leg-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-primary)}.dot{width:12px;height:12px;border-radius:50%}.dot.yellow{background:#eab308}.dot.green{background:#22c55e}.js-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.js-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.js-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.js-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.js-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.js-input-group{display:flex;align-items:center;gap:8px}.js-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.js-text-input{width:220px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.js-text-input:focus{border-color:#10b981}.js-btn-group{display:flex;align-items:center;gap:8px}.js-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.js-btn:hover{transform:translateY(-1px)}.js-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.js-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.js-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.js-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.js-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.js-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.js-dot.yellow{background:#fbbf24}.js-dot.green{background:#10b981}.js-dot.red{background:#f87171}.js-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.js-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.js-card-header{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;justify-content:space-between;align-items:center}.js-total-profit{color:var(--text-secondary)}.js-total-profit strong{color:#10b981;font-size:1.1rem;font-family:Fira Code,monospace}.js-slots-row{display:flex;gap:10px;flex-wrap:wrap}.js-slot-box{flex:1;min-width:100px;height:54px;background:var(--surface-bg);border:1.5px dashed var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;transition:background .2s ease,border-color .2s ease}.slot-idx{font-size:.64rem;color:var(--text-muted);font-weight:700;text-transform:uppercase}.slot-job{font-size:.95rem;font-weight:800;color:var(--text-muted);font-family:Fira Code,monospace}.js-slot-box.filled{border-style:solid;border-color:#10b981;background:#10b98126}.js-slot-box.filled .slot-job{color:#10b981}.js-jobs-grid{display:flex;gap:8px;flex-wrap:wrap}.js-job-chip{padding:8px 14px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.job-id{font-size:.95rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.job-meta{font-size:.68rem;color:var(--text-muted);font-weight:600}.js-job-chip.considering{background:#fbbf2433;border-color:#fbbf24;transform:scale(1.06)}.js-job-chip.considering .job-id{color:#fbbf24}.js-job-chip.placed{background:#10b98126;border-color:#10b981}.js-job-chip.placed .job-id{color:#10b981}.js-job-chip.rejected{background:#f8717126;border-color:#f87171;opacity:.6}.js-job-chip.rejected .job-id{color:#f87171}.js-controls-wrapper{flex-shrink:0}@media(max-width:768px){.js-input-panel{flex-direction:column;align-items:stretch}.js-legend{margin-left:0;flex-wrap:wrap}}.kmp-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.kmp-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kmp-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.kmp-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.kmp-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.kmp-input-group{display:flex;align-items:center;gap:8px}.kmp-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.kmp-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.kmp-text-input:focus{border-color:#38bdf8}.kmp-pattern-input{width:90px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.kmp-pattern-input:focus{border-color:#38bdf8}.kmp-btn-group{display:flex;align-items:center;gap:8px}.kmp-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.kmp-btn:hover{transform:translateY(-1px)}.kmp-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.kmp-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.kmp-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.kmp-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.kmp-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kmp-dot.yellow{background:#fbbf24}.kmp-dot.green{background:#10b981}.kmp-dot.red{background:#f87171}.kmp-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:18px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.kmp-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.kmp-lps-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column}.kmp-lps-row{display:flex;gap:8px}.lps-cell{width:36px;height:42px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Fira Code,monospace}.lps-ch{font-size:.82rem;font-weight:800;color:#38bdf8}.lps-val{font-size:.72rem;font-weight:700;color:var(--text-muted)}.kmp-text-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;position:relative;overflow-x:auto}.kmp-text-grid{display:flex;gap:8px;position:relative}.kmp-cell-wrapper{display:flex;flex-direction:column;align-items:center}.kmp-cell{width:38px;height:42px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.p-cell{background:#38bdf81f;border-color:#38bdf84d}.kmp-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.kmp-idx{font-size:.62rem;color:var(--text-muted);font-weight:600;margin-top:4px}.kmp-cell.state-comparing{background:#fbbf2440;border-color:#fbbf24}.kmp-cell.state-comparing .kmp-val{color:#fbbf24}.kmp-cell.state-match{background:#10b98140;border-color:#10b981}.kmp-cell.state-match .kmp-val{color:#10b981}.kmp-cell.state-mismatch{background:#f8717140;border-color:#f87171}.kmp-cell.state-mismatch .kmp-val{color:#f87171}.kmp-cell.state-found{background:#10b9814d;border-color:#10b981;box-shadow:0 0 10px #10b98166}.kmp-pattern-slider{display:flex;gap:8px;margin-top:12px;transition:transform .25s ease}.kmp-controls-wrapper{flex-shrink:0}@media(max-width:768px){.kmp-input-panel{flex-direction:column;align-items:stretch}.kmp-legend{margin-left:0;flex-wrap:wrap}}.rk-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.rk-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rk-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.rk-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.rk-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.rk-input-group{display:flex;align-items:center;gap:8px}.rk-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.rk-text-input{width:140px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.rk-text-input:focus{border-color:#38bdf8}.rk-pat-input{width:80px}.rk-btn-group{display:flex;align-items:center;gap:8px}.rk-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.rk-btn:hover{transform:translateY(-1px)}.rk-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.rk-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.rk-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.rk-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.rk-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rk-dot.blue{background:#38bdf8}.rk-dot.yellow{background:#fbbf24}.rk-dot.green{background:#10b981}.rk-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:24px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.rk-hashes-row{display:flex;gap:16px;justify-content:center}.rk-hash-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:8px 18px;display:flex;flex-direction:column;align-items:center;min-width:140px;transition:border-color .2s ease,background .2s ease}.rk-hash-card.match{border-color:#10b981;background:#10b9811f}.hash-lbl{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.hash-val{font-size:1.15rem;font-weight:900;font-family:Fira Code,monospace}.hash-val.green{color:#10b981}.hash-val.blue{color:#38bdf8}.rk-text-display,.rk-pattern-display{display:flex;gap:6px;transition:transform .3s ease}.rk-cell{width:42px;height:48px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.rk-char{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.rk-idx{font-size:.62rem;color:var(--text-muted)}.rk-text-cell.state-window{background:#38bdf826;border-color:#38bdf8}.rk-text-cell.state-comparing{background:#fbbf2440;border-color:#fbbf24}.rk-text-cell.state-mismatch{background:#ef444433;border-color:#ef4444}.rk-text-cell.state-matched{background:#10b98140;border-color:#10b981}.rk-pat-cell{background:var(--surface-bg);border-color:#38bdf8;color:#38bdf8}.rk-controls-wrapper{flex-shrink:0}@media(max-width:768px){.rk-input-panel{flex-direction:column;align-items:stretch}.rk-legend{margin-left:0;flex-wrap:wrap}}.z-container{padding:0;display:flex;flex-direction:column;height:100%;min-height:560px;gap:16px}.z-input-bar{display:flex;gap:16px;align-items:flex-end;background:var(--surface-bg-raised);padding:14px 18px;border-radius:14px;border:1px solid var(--surface-border);flex-wrap:wrap;box-shadow:0 4px 12px #00000026}.z-input-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.z-input-group label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.z-input-group input{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);padding:8px 12px;border-radius:8px;color:var(--algo-input-text);font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-transform:lowercase;transition:border-color .2s ease,box-shadow .2s ease}.z-input-group input:focus{border-color:#a855f7;box-shadow:0 0 0 2px #a855f740;outline:none}.cs-btn{padding:9px 18px;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;transition:transform .1s ease,filter .2s ease;border:none}.cs-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff;box-shadow:0 4px 12px #a855f74d}.cs-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.z-visual-area{background:var(--algo-grid-bg);padding:30px 24px;border-radius:16px;border:1px solid var(--algo-grid-border);display:flex;flex-direction:column;gap:36px;overflow-x:auto;flex:1;justify-content:center}.z-row{display:flex;flex-direction:column;gap:12px}.z-row-label{font-size:.75rem;color:var(--text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.z-cells-container{display:flex;gap:8px}.z-cell{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-family:Fira Code,monospace;font-size:1.1rem;font-weight:800;border-radius:8px;background:var(--surface-bg-raised);border:2px solid var(--surface-border);position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);color:var(--text-primary);box-shadow:0 4px 6px -1px #0000001a}.z-char-cell .z-idx{position:absolute;top:-24px;font-size:.65rem;color:var(--text-muted);font-weight:700}.state-separator{background:#ef44441a;color:#ef4444;border-color:#ef444466}.state-box{background:#a855f726;border-color:#a855f7;box-shadow:inset 0 0 0 1px #a855f7,0 4px 12px #a855f733}.state-prefix-compare{background:#f59e0b33;border-color:#f59e0b;color:#f59e0b}.state-comparing{background:#f59e0b;border-color:#f59e0b;color:#fff;transform:translateY(-4px);box-shadow:0 8px 16px #f59e0b66}.state-mismatch{background:#ef4444;border-color:#ef4444;color:#fff;transform:translateY(-2px);box-shadow:0 6px 12px #ef444466}.state-current{border-color:#3b82f6;box-shadow:inset 0 0 0 2px #3b82f6,0 4px 12px #3b82f640}.z-val-cell.state-active{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:scale(1.1);box-shadow:0 6px 14px #3b82f666}.z-val-cell.state-first{background:var(--surface-bg);color:var(--text-muted);border-color:var(--surface-border);opacity:.7}.z-box-info{margin-top:10px;padding:12px 18px;background:#a855f71a;border-radius:10px;border-left:5px solid #a855f7;font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:8px;font-weight:600}.z-controls-wrapper{flex-shrink:0}.man-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.man-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.man-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.man-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.man-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.man-input-group{display:flex;align-items:center;gap:8px}.man-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.man-text-input{width:140px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.man-text-input:focus{border-color:#c084fc}.man-btn-group{display:flex;align-items:center;gap:8px}.man-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.man-btn:hover{transform:translateY(-1px)}.man-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.man-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.man-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.man-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.man-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.man-dot.yellow{background:#fbbf24}.man-dot.green{background:#10b981}.man-dot.purple{background:#c084fc}.man-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.man-row{display:flex;flex-direction:column;gap:6px}.man-row-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.man-cells-container{display:flex;gap:6px}.man-cell-wrapper{width:38px;display:flex;justify-content:center}.man-idx{font-size:.68rem;color:var(--text-muted);font-family:Fira Code,monospace}.man-cell{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-family:Fira Code,monospace;font-weight:800;border-radius:8px;transition:background .2s ease,border-color .2s ease}.char-cell{background:var(--surface-bg-raised);border:1px solid var(--surface-border);color:var(--text-primary)}.radius-cell{background:var(--surface-bg);border:1px solid var(--surface-border);color:var(--text-secondary)}.radius-cell.active{background:#a855f740;border-color:#c084fc;color:#c084fc}.state-hash{color:var(--text-muted)}.state-center{background:#fbbf2440;border-color:#fbbf24;color:#fbbf24}.state-expanding{background:#c084fc40;border-color:#c084fc;color:#c084fc}.state-mirror{background:#10b98140;border-color:#10b981;color:#10b981}.state-in-box{background:#38bdf81f;border-color:#38bdf84d}.man-stats-row{display:flex;gap:12px;margin-top:6px}.man-stat-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;padding:6px 14px;display:flex;flex-direction:column;align-items:center}.stat-val.yellow{color:#fbbf24}.stat-val.blue{color:#38bdf8}.man-result-box{display:flex;flex-direction:column;align-items:center;padding:10px 16px;background:#10b9811f;border:1px solid #10b981;border-radius:10px}.res-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.res-val{font-size:1.05rem;font-weight:900;color:#10b981;font-family:Fira Code,monospace}.man-controls-wrapper{flex-shrink:0}@media(max-width:768px){.man-input-panel{flex-direction:column;align-items:stretch}.man-legend{margin-left:0;flex-wrap:wrap}}.gcd-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.gcd-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gcd-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.gcd-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.gcd-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.gcd-input-group{display:flex;align-items:center;gap:8px}.gcd-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.gcd-number-input{width:80px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.gcd-number-input:focus{border-color:#10b981}.gcd-btn-group{display:flex;align-items:center;gap:8px}.gcd-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.gcd-btn:hover{transform:translateY(-1px)}.gcd-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.gcd-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.gcd-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.gcd-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.gcd-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.gcd-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.gcd-dot.blue{background:#38bdf8}.gcd-dot.purple{background:#c084fc}.gcd-dot.green{background:#10b981}.gcd-analogy-panel{background:#10b98114;border-left:4px solid #10b981;border-radius:10px;padding:12px 16px;font-size:.86rem;color:var(--text-primary);animation:slideDown .25s ease}.gcd-analogy-panel h4{margin:0 0 6px;color:#10b981;font-size:.92rem}.gcd-analogy-panel p{margin:0 0 6px;color:var(--text-secondary)}.gcd-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:20px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.gcd-boxes-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center}.gcd-card-box{min-width:90px;height:80px;background:var(--surface-bg-raised);border:1.5px solid var(--surface-border);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;transition:background .25s ease,border-color .25s ease,transform .25s ease}.box-lbl{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.box-val{font-size:1.5rem;font-weight:900;color:var(--text-primary);font-family:Fira Code,monospace}.box-a{border-color:#38bdf8}.box-a .box-val{color:#38bdf8}.box-b{border-color:#c084fc}.box-b .box-val{color:#c084fc}.box-rem{border-color:#fbbf24}.box-rem .box-val{color:#fbbf24}.gcd-card-box.active-update{transform:scale(1.1);box-shadow:0 0 20px #38bdf859}.gcd-card-box.active-swap{transform:scale(1.1);box-shadow:0 0 20px #c084fc59}.gcd-op-symbol{font-size:1.3rem;font-weight:800;color:var(--text-muted);font-family:Fira Code,monospace}.gcd-result-banner{background:#10b98126;border:1px solid #10b981;border-radius:12px;padding:12px 24px;font-size:1.1rem;color:#10b981;font-weight:700;animation:slideDown .3s ease}.gcd-result-banner strong{font-size:1.3rem;font-family:Fira Code,monospace}.gcd-controls-wrapper{flex-shrink:0}@media(max-width:768px){.gcd-input-panel{flex-direction:column;align-items:stretch}.gcd-legend{margin-left:0;flex-wrap:wrap}}.fe-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.fe-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fe-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.fe-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.fe-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.fe-input-group{display:flex;align-items:center;gap:8px}.fe-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.fe-number-input{width:80px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.fe-number-input:focus{border-color:#38bdf8}.fe-btn-group{display:flex;align-items:center;gap:8px}.fe-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.fe-btn:hover{transform:translateY(-1px)}.fe-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.fe-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.fe-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.fe-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.fe-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.fe-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fe-dot.blue{background:#38bdf8}.fe-dot.yellow{background:#fbbf24}.fe-dot.green{background:#10b981}.fe-analogy-panel{background:#38bdf814;border-left:4px solid #38bdf8;border-radius:10px;padding:12px 16px;font-size:.86rem;color:var(--text-primary);animation:slideDown .25s ease}.fe-analogy-panel h4{margin:0 0 6px;color:#38bdf8;font-size:.92rem}.fe-analogy-panel p{margin:0 0 6px;color:var(--text-secondary)}.fe-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.fe-bits-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px}.fe-card-title{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.fe-bits-row{display:flex;gap:8px;flex-wrap:wrap}.fe-bit-cell{min-width:44px;height:48px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.bit-val{font-size:1.05rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.bit-pos{font-size:.64rem;color:var(--text-muted);font-weight:600}.fe-bit-cell.active{background:#fbbf2440;border-color:#fbbf24;transform:scale(1.08)}.fe-bit-cell.active .bit-val{color:#fbbf24}.fe-bit-cell.passed{opacity:.5}.fe-metrics-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.fe-metric-box{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center}.m-lbl{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.m-val{font-size:1.3rem;font-weight:800;font-family:Fira Code,monospace;margin-top:4px}.m-val.blue{color:#38bdf8}.m-val.green{color:#10b981}.m-val.yellow{color:#fbbf24}.fe-controls-wrapper{flex-shrink:0}@media(max-width:768px){.fe-input-panel{flex-direction:column;align-items:stretch}.fe-legend{margin-left:0;flex-wrap:wrap}.fe-metrics-row{grid-template-columns:1fr}}.animation-canvas{width:100%;height:100%;min-height:350px;position:relative;display:flex;justify-content:center;align-items:flex-end}.animation-canvas--cards{align-items:stretch;min-height:230px}.algorithm-info-strip{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:18px}.algorithm-info-chip{padding:8px 12px;border-radius:12px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);color:var(--text-secondary);font-size:.88rem;font-weight:600;text-align:center;transition:background .25s ease,border-color .25s ease,color .25s ease}.algorithm-info-chip--blue{color:#3b82f6}.algorithm-info-chip--yellow{color:#d97706}.algorithm-info-chip--green{color:#16a34a}.algorithm-info-chip--best{color:#15803d}.algorithm-info-chip--target{color:var(--text-primary)}.algorithm-info-chip--full{color:var(--text-secondary);flex:1 1 100%}[data-theme=light] .algorithm-info-chip--blue{color:#1d4ed8}[data-theme=light] .algorithm-info-chip--yellow{color:#92400e}[data-theme=light] .algorithm-info-chip--green{color:#14532d}[data-theme=light] .algorithm-info-chip--best{color:#15803d}.bars-container{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;gap:6px}.bars-container--cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));align-items:stretch;gap:12px;height:auto;padding:6px 0 4px}.array-bar{flex:1;margin:0 4px;border-radius:8px 8px 0 0;display:flex;justify-content:center;position:relative;min-width:12px;box-shadow:0 4px 6px #0000002e}.array-bar--card{min-height:104px;height:auto!important;margin:0;border-radius:18px;align-items:center;padding:34px 10px 30px;overflow:hidden}.array-bar--discarded .bar-value{opacity:.78;text-decoration:line-through}.bar-value{position:absolute;bottom:-30px;font-size:.8rem;color:var(--text-secondary);font-weight:600;width:100%;text-align:center;transition:color .2s ease}.array-bar--card .bar-value{position:static;bottom:auto;font-size:1rem;color:#f8fafc;line-height:1.1}[data-theme=light] .array-bar--card .bar-value{color:#fff}.array-index{position:absolute;right:10px;bottom:8px;font-size:.66rem;font-weight:700;letter-spacing:.04em;color:#f8fafcd1}.array-status-badge{position:absolute;left:10px;bottom:8px;border-radius:999px;padding:2px 8px;font-size:.58rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#0f172a}.array-status-badge--active{background:#facc15e6}.array-status-badge--discarded{background:#cbd5e1e6}.array-status-badge--found,.array-status-badge--best{background:#86efaceb}.array-status-badge--window{background:#93c5fdeb}.array-status-badge--incoming{background:#fde047eb}.array-status-badge--outgoing{background:#fca5a5eb}.bar-pointer{position:absolute;top:-32px;width:100%;text-align:center;font-size:1.5rem;font-weight:800;color:var(--accent-yellow);filter:drop-shadow(0 2px 4px rgba(0,0,0,.45));animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:768px){.animation-canvas{min-height:250px}.animation-canvas--cards{min-height:180px}.algorithm-info-strip{gap:8px;margin-bottom:14px}.algorithm-info-chip{flex:1 1 calc(50% - 8px);font-size:.78rem;padding:7px 10px}.algorithm-info-chip--full{flex-basis:100%}.bars-container--cards{grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:8px}.array-bar{margin:0 2px;min-width:8px}.array-bar--card{min-height:88px;padding:30px 8px 24px}.bar-value{font-size:.65rem;bottom:-20px}.array-bar--card .bar-value{font-size:.92rem}.array-index,.array-status-badge{font-size:.54rem}.bar-pointer{font-size:1.1rem;top:-24px}}.dp-canvas{width:100%;height:100%;display:flex;justify-content:center;align-items:flex-start;overflow:auto;padding:14px}.dp-canvas-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:1.05rem;font-weight:600;transition:color .2s ease}.dp-table-wrapper{overflow-x:auto;max-width:100%}.dp-table{border-collapse:separate;border-spacing:4px}.dp-corner{width:40px;height:32px}.dp-col-label,.dp-row-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);padding:4px 8px;text-align:center;white-space:nowrap;transition:color .2s ease}.dp-row-label{background:var(--surface-bg-raised);border-radius:8px;border:1px solid var(--surface-border);transition:background .25s ease,border-color .25s ease}.dp-cell-container{padding:0}.dp-cell{min-width:40px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem;font-weight:700;transition:background .3s ease,border-color .3s ease,color .3s ease;border:1px solid var(--surface-border);color:var(--text-primary);background:var(--surface-bg-raised)}.dp-cell-active{box-shadow:0 0 0 2px var(--algo-tab-active-color)}@media(max-width:768px){.dp-canvas{padding:8px}.dp-table{border-spacing:2px}.dp-corner{width:25px;height:25px}.dp-col-label,.dp-row-label{font-size:.7rem;padding:2px 4px}.dp-cell{min-width:25px;min-height:25px;font-size:.75rem}}.activity-canvas{width:100%;padding:16px;display:flex;flex-direction:column;gap:8px}.activity-canvas-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:1.1rem}.activity-timeline-header{position:relative;height:28px;margin-left:40px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.timeline-tick{position:absolute;font-size:.7rem;color:var(--text-secondary);transform:translate(-50%);top:0}.activity-bars{display:flex;flex-direction:column;gap:4px}.activity-bar-row{display:flex;align-items:center;height:32px;gap:8px}.activity-label{width:32px;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-align:right;flex-shrink:0}.activity-bar-track{flex:1;position:relative;height:100%}.activity-bar{position:absolute;height:100%;border-radius:6px;display:flex;align-items:center;justify-content:center;border:2px solid transparent;transition:all .3s ease}.bar-selected{box-shadow:0 0 12px #10b98166}.bar-rejected{opacity:.5}.bar-time{font-size:.7rem;color:#fff;font-weight:600;white-space:nowrap}.activity-summary{margin-top:12px;padding:10px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.2);border-radius:8px;color:#10b981;font-size:.85rem;font-weight:600}@media(max-width:768px){.activity-canvas{padding:8px}.activity-timeline-header{margin-left:25px}.timeline-tick{font-size:.6rem}.activity-label{width:25px;font-size:.65rem}.activity-bar-row{height:24px;gap:4px}.bar-time{font-size:.55rem}.activity-summary{font-size:.75rem;padding:8px 12px}}.grid-canvas{width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:8px;overflow:auto}.grid-container{display:grid;gap:3px;width:100%;max-height:100%;aspect-ratio:1}.grid-cell{background:var(--surface-bg-raised, #1e293b);border:1px solid var(--surface-border, rgba(255, 255, 255, .1));border-radius:4px;display:flex;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;color:var(--text-primary, #ffffff);aspect-ratio:1;transition:all .2s ease-in-out}.grid-cell-empty{background:var(--surface-bg-raised, #1e293b)}.grid-cell-dark{background:#0f172a99;border-color:#ffffff0d}.grid-cell-active-path{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff;box-shadow:0 0 10px #a855f799;border-color:#a855f7;font-size:1.3rem}.grid-cell-wall{background:#0f172a;color:#475569;border-color:#334155}.grid-cell-crossed{background:#ef444433;color:#ef4444}.grid-cell-current{background:#f59e0b!important;color:#000;transform:scale(1.06);z-index:10;box-shadow:0 0 12px #f59e0b99}.grid-cell-compare{background:#06b6d4!important;color:#000;transform:scale(1.06);z-index:5;box-shadow:0 0 12px #06b6d499}.grid-cell-completed{background:#10b981!important;color:#fff;box-shadow:0 0 8px #10b98166}.tree-modal-overlay{position:fixed;inset:0;background-color:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.tree-modal-content{background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080}.tree-modal-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.tree-modal-header h2{margin:0;font-size:1.25rem;color:#fff}.tree-modal-header .close-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:1.2rem;transition:color .2s}.tree-modal-header .close-btn:hover{color:#fff}.tree-modal-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.tree-input-panel{display:flex;flex-direction:column;gap:8px}.tree-input-label{font-size:.9rem;font-weight:600;color:#38bdf8}.tree-input-help{font-size:.8rem;color:#94a3b8;margin-bottom:4px}.tree-textarea{width:100%;min-height:180px;background:#0f172a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.5;resize:vertical}.tree-textarea:focus{outline:none;border-color:#38bdf8;background:#0f172acc}.tree-modal-footer{padding:1.25rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:12px}.tree-modal-footer .secondary-btn{background:#334155;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.tree-modal-footer .secondary-btn:hover{background:#475569}.tree-modal-footer .primary-btn{background:#10b981;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s;flex:1}.tree-modal-footer .primary-btn:hover{background:#059669}.example-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.example-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:4px 10px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.example-btn:hover{background:#38bdf81a;color:#38bdf8;border-color:#38bdf8}.bm-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.bm-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bm-step-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.bm-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.bm-stat-chip{font-size:.82rem;color:var(--text-secondary);background:var(--surface-bg);padding:3px 10px;border-radius:20px;border:1px solid var(--surface-border);font-weight:600;margin-left:auto}.bm-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bm-input-group{display:flex;align-items:center;gap:8px}.bm-input-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.bm-icon{font-size:.85rem;color:#38bdf8}.bm-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;letter-spacing:1.5px;text-transform:uppercase;outline:none;transition:border-color .2s ease,background .2s ease}.bm-text-input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf826}.bm-pattern-input{width:90px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;letter-spacing:1.5px;text-transform:uppercase;outline:none;transition:border-color .2s ease,background .2s ease}.bm-pattern-input:focus{border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf826}.bm-btn-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.bm-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;white-space:nowrap}.bm-btn:hover{transform:translateY(-1px)}.bm-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff;box-shadow:0 4px 12px #38bdf840}.bm-btn-primary:hover{box-shadow:0 6px 16px #38bdf859}.bm-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.bm-btn-secondary:hover{background:var(--surface-bg-raised);color:var(--text-primary)}.bm-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.bm-btn-outline:hover{background:var(--surface-bg);color:var(--text-primary)}.bm-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.bm-row{display:flex;align-items:center;width:100%}.bm-row-label{width:90px;flex-shrink:0;font-weight:800;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.bm-boxes{display:flex;align-items:center;flex-wrap:nowrap;position:relative;max-width:calc(100% - 90px);overflow-x:auto;padding-bottom:22px}.bm-boxes::-webkit-scrollbar{height:4px}.bm-boxes::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:4px}.bm-pattern-container{padding-bottom:22px}.bm-box{width:44px;height:46px;min-width:44px;margin-right:5px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;font-family:Fira Code,monospace;border-radius:10px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);color:var(--text-primary);position:relative;box-shadow:var(--surface-shadow);transition:background .25s ease,border-color .25s ease,transform .2s ease,color .2s ease}.bm-spacer{background:transparent;border:none;box-shadow:none}.bm-index{position:absolute;bottom:-18px;font-size:.68rem;color:var(--text-muted);font-weight:700;font-family:Fira Code,monospace}.bm-comparing{background:#fbbf242e;border-color:#fbbf24;box-shadow:0 0 12px #fbbf2459;color:#fbbf24;z-index:2;transform:scale(1.08)}.bm-matched{background:#22c55e2e;border-color:#22c55e;box-shadow:0 0 12px #22c55e59;color:#22c55e;z-index:2}.bm-mismatched{background:#ef44442e;border-color:#ef4444;box-shadow:0 0 12px #ef444459;color:#ef4444;z-index:2}.bm-fully-matched{background:#22c55e40;border-color:#22c55e;color:#22c55e;box-shadow:0 0 16px #22c55e73;animation:bmPulse 1.5s infinite alternate}@keyframes bmPulse{0%{box-shadow:0 0 8px #22c55e66}to{box-shadow:0 0 20px #22c55ebf}}.bm-learning-bridge{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap}.bm-status-panel{flex:1.6;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.bm-status-panel h4,.bm-bad-char-panel h4{margin:0 0 10px;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.bm-education-content p{font-size:.88rem;line-height:1.5;color:var(--text-primary);margin-bottom:12px}.bm-stats-mini{display:flex;gap:12px}.bm-stat-item{background:var(--surface-bg);padding:8px 12px;border-radius:8px;border:1px solid var(--surface-border);flex:1;display:flex;flex-direction:column;align-items:center;transition:background .25s ease,border-color .25s ease}.bm-stat-item .label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;font-weight:700}.bm-stat-item .value{font-size:1.15rem;color:#fbbf24;font-weight:800;font-family:Fira Code,monospace}.bm-shift-formula{margin-top:14px;padding:12px;background:#fbbf2414;border:1px dashed #fbbf24;border-radius:10px;text-align:center}.bm-shift-formula .formula-title{font-size:.78rem;color:#fbbf24;text-transform:uppercase;font-weight:800;margin-bottom:6px}.bm-shift-formula code{display:block;font-size:.95rem;background:var(--surface-bg);padding:8px;border-radius:6px;margin-bottom:8px;color:var(--text-primary);font-family:Fira Code,monospace}.bm-shift-formula .formula-result{font-size:.88rem;font-weight:700;color:var(--text-secondary)}.bm-shift-formula .formula-result strong{color:#38bdf8}.bm-bad-char-panel{flex:1;min-width:180px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.bm-bad-char-panel.bm-preprocessing{border-color:#38bdf8;background:#38bdf814}.bm-table-grid{display:flex;flex-wrap:wrap;gap:8px}.bm-table-pair{display:flex;flex-direction:column;border:1px solid var(--surface-border);border-radius:8px;overflow:hidden;min-width:44px;text-align:center}.bm-table-header{background:var(--surface-bg);color:var(--text-secondary);font-size:.78rem;font-weight:800;padding:4px;font-family:Fira Code,monospace}.bm-table-cell{padding:6px;font-size:.9rem;font-weight:800;color:#38bdf8;font-family:Fira Code,monospace}.bm-status-message{font-size:.8rem;color:var(--text-muted);font-style:italic}.bm-controls-wrapper{flex-shrink:0}@media(max-width:768px){.bm-input-panel{flex-direction:column;align-items:stretch}.bm-btn-group{margin-left:0}.bm-learning-bridge{flex-direction:column}}.rat-maze-visualizer{display:flex;flex-direction:column;align-items:center;flex:1;gap:20px;padding:10px 0}.maze-container{display:grid;gap:4px;background:#0003;padding:10px;border-radius:8px;border:2px solid rgba(255,255,255,.1);margin:0 auto;box-shadow:0 10px 30px #00000080;position:relative}.maze-cell{width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.maze-cell-wall{background:linear-gradient(135deg,#1e293b,#0f172a);box-shadow:inset 0 0 10px #00000080;border:1px solid rgba(255,255,255,.05)}.maze-cell-wall:after{content:"";position:absolute;width:100%;height:100%;background-image:linear-gradient(90deg,transparent 50%,rgba(255,255,255,.02) 50%),linear-gradient(0deg,transparent 50%,rgba(255,255,255,.02) 50%);background-size:10px 10px}.maze-cell-empty{background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.maze-cell-path{background:#22c55e26}.maze-cell-path:after{content:"🐾";font-size:.8rem;opacity:.4;position:absolute;bottom:5px;right:5px}.maze-cell-backtrack{background:#ef444426}.maze-cell-backtrack:after{content:"❌";font-size:1rem;opacity:.5}.rat-sprite{font-size:2.5rem;z-index:10;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.rat-moving{animation:ratBounce .5s infinite alternate ease-in-out}@keyframes ratBounce{0%{transform:scale(1) translateY(0)}to{transform:scale(1.1) translateY(-5px)}}.maze-start:before{content:"START";position:absolute;top:-15px;left:0;font-size:.6rem;color:var(--accent-primary);font-weight:700}.maze-end:before{content:"EXIT";position:absolute;bottom:-15px;right:0;font-size:.6rem;color:#ef4444;font-weight:700}.maze-editor-grid{display:grid;gap:2px;margin:20px 0;border:1px solid rgba(255,255,255,.1)}.editor-cell{width:35px;height:35px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:background .2s}.editor-cell:hover{background:#ffffff1a}.editor-cell-wall{background:#1e293b}.editor-cell-empty{background:transparent}.editor-cell-start{background:#22c55e4d}.editor-cell-end{background:#ef44444d}.maze-legend{display:flex;justify-content:center;gap:20px;margin-top:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.legend-box{width:16px;height:16px;border-radius:3px;position:relative;overflow:hidden}.rim-step-badge{font-size:.82rem;background:#ffffff14;padding:4px 10px;border-radius:6px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.rim-controls-bar{padding:10px 14px;background:#00000040;border-radius:12px;border:1px solid rgba(255,255,255,.04);flex-shrink:0}.rim-modal-overlay{position:fixed;inset:0;background:#000000a6;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.rim-modal{background:#0f172af2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 28px;min-width:340px;max-width:90vw;box-shadow:0 20px 60px #0009}.rim-modal-title{margin:0 0 16px;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.rim-input{background:#0f172ab3;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#e2e8f0;padding:5px 10px;font-size:.85rem;width:60px}.rim-input:focus{outline:none;border-color:#6366f1}.rim-btn{padding:8px 18px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-primary);transition:all .2s}.rim-btn:hover{background:#ffffff1a}.rim-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff}.rim-btn-primary:hover{box-shadow:0 4px 15px #6366f159}.nq-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.nq-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nq-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.nq-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.nq-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.nq-input-group{display:flex;align-items:center;gap:8px}.nq-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.nq-select-input{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.88rem;font-weight:700;outline:none;cursor:pointer;transition:border-color .2s ease}.nq-select-input:focus{border-color:#c084fc}.nq-btn-group{display:flex;align-items:center;gap:8px}.nq-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.nq-btn:hover{transform:translateY(-1px)}.nq-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.nq-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.nq-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.nq-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.nq-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.nq-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.nq-dot.gold{background:#fbbf24}.nq-dot.yellow{background:#f59e0b}.nq-dot.red{background:#ef4444}.nq-dot.green{background:#10b981}.nq-canvas-wrapper{flex:1;min-height:380px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:16px;gap:16px;align-items:center;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.nq-stats-row{display:flex;gap:12px;justify-content:center;width:100%}.nq-stat-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;padding:6px 16px;display:flex;flex-direction:column;align-items:center}.stat-lbl{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.stat-val{font-size:1.05rem;font-weight:900;font-family:Fira Code,monospace}.stat-val.gold{color:#fbbf24}.stat-val.green{color:#10b981}.stat-val.purple{color:#c084fc}.nq-board-container{display:flex;justify-content:center;align-items:center;flex:1}.nq-board-layout{display:flex;align-items:flex-end;gap:8px;background:var(--surface-bg-raised);border:2px solid var(--surface-border);border-radius:14px;padding:12px 16px 16px 12px;box-shadow:0 10px 25px -5px #0000004d}.nq-row-labels{display:grid;gap:0;align-items:center}.nq-board-right{display:flex;flex-direction:column;gap:6px}.nq-col-labels{display:grid;gap:0}.nq-coord-label{display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:var(--text-muted);font-family:Fira Code,monospace}.nq-chessboard{display:grid;gap:0;border:1px solid var(--surface-border);border-radius:8px;overflow:hidden}.nq-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .2s ease,border-color .2s ease,transform .1s ease}.nq-tile.interactive{cursor:pointer}.nq-tile.interactive:hover{filter:brightness(1.18);transform:scale(1.02)}.tile-light{background:var(--surface-bg);border:1px solid var(--surface-border)}.tile-dark{background:var(--algo-grid-bg);border:1px solid var(--surface-border)}.tile-current{background:#fbbf2459!important;box-shadow:inset 0 0 0 2px #fbbf24}.tile-conflict{background:#ef444459!important;box-shadow:inset 0 0 0 2px #ef4444}.tile-solution{background:#10b98159!important;box-shadow:inset 0 0 0 2px #10b981}.tile-attacked{background:#ef444424!important}.nq-queen-icon{font-size:1.6rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.nq-controls-wrapper{flex-shrink:0}@media(max-width:768px){.nq-input-panel{flex-direction:column;align-items:stretch}.nq-legend{margin-left:0;flex-wrap:wrap}}.fl-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.fl-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fl-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.fl-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.fl-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.fl-btn-group{display:flex;align-items:center;gap:8px}.fl-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.fl-btn:hover{transform:translateY(-1px)}.fl-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.fl-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.fl-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.fl-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.fl-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.fl-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fl-dot.blue{background:#38bdf8}.fl-dot.red{background:#f87171}.fl-dot.green{background:#10b981}.fl-dot.purple{background:#c084fc}.fl-intuition-panel{background:#a855f714;border-left:4px solid #c084fc;border-radius:10px;padding:12px 16px;font-size:.86rem;color:var(--text-primary);animation:slideDown .25s ease}.fl-intuition-panel h4{margin:0 0 6px;color:#c084fc;font-size:.92rem}.fl-intuition-panel p{margin:0 0 6px;color:var(--text-secondary)}.fl-intuition-panel ul{margin:0;padding-left:18px;color:var(--text-muted)}.fl-intuition-panel code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;color:#f87171;font-family:Fira Code,monospace}.fl-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.floyd-svg{max-width:100%}.node-circle{fill:var(--surface-bg-raised);stroke:var(--surface-border);stroke-width:2.5px;transition:fill .25s ease,stroke .25s ease}.node-circle.state-active{stroke:#fbbf24;stroke-width:4px}.node-circle.state-met{fill:#10b98133;stroke:#10b981;stroke-width:5px;animation:metPulse 1s infinite alternate}.node-text{fill:var(--text-primary);font-weight:800;font-size:.95rem;font-family:Fira Code,monospace}.pointer{transition:transform .4s cubic-bezier(.4,0,.2,1)}.cycle-path-anim{stroke-dashoffset:200;animation:dash 6s linear infinite}@keyframes dash{to{stroke-dashoffset:0}}@keyframes metPulse{0%{filter:drop-shadow(0 0 4px #10b981)}to{filter:drop-shadow(0 0 14px #10b981)}}.fl-controls-wrapper{flex-shrink:0}@media(max-width:768px){.fl-input-panel{flex-direction:column;align-items:stretch}.fl-legend{margin-left:0;flex-wrap:wrap}}.prim-wrapper{display:flex;flex-direction:column;min-height:600px;gap:10px}.prim-step-badge{font-size:.82rem;background:var(--surface-bg-raised);border:1px solid var(--surface-border);padding:4px 10px;border-radius:6px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.prim-dual-graphs{display:flex;gap:10px;flex:1;min-height:280px}.prim-graph-panel{flex:1;position:relative;background:var(--algo-grid-bg);border-radius:14px;border:1px solid var(--algo-grid-border);overflow:hidden;min-height:250px;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.prim-mst-panel{border-color:#10b98126}.prim-graph-label{position:absolute;top:8px;left:12px;z-index:5;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff73;background:#0006;padding:3px 10px;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.prim-mst-label{color:#34d399;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.prim-graph-canvas-wrap{width:100%;flex:1;min-height:220px;position:relative;display:flex;flex-direction:column}.prim-info-row{display:flex;gap:10px;flex-shrink:0;overflow-x:auto;padding-bottom:4px}.prim-info-card{background:#0f172a99;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:12px 14px;flex:1;min-width:160px;display:flex;flex-direction:column}.prim-pq-card{flex:1.5}.prim-card-title{margin:0 0 10px;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.prim-edge-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto;padding-right:4px;flex:1}.prim-edge-list::-webkit-scrollbar{width:4px}.prim-edge-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.prim-edge-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:.82rem;font-family:Fira Code,Cascadia Code,monospace;color:#94a3b8;background:#ffffff08;border-left:3px solid rgba(255,255,255,.08);transition:all .25s ease}.prim-edge-item .pe-nodes{flex:1}.prim-edge-item .pe-weight{font-size:.75rem;color:#64748b;font-weight:600}.prim-edge-item.pe-active{background:#3b82f626;border-left-color:#3b82f6;color:#93c5fd;font-weight:700;box-shadow:0 2px 8px #0003}.prim-edge-item.pe-active .pe-weight{color:#bfdbfe}.pe-badge{background:#3b82f640;color:#60a5fa;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.prim-nodes-wrap{display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow-y:auto;align-content:flex-start}.prim-visited-node{width:32px;height:32px;border-radius:50%;background:#10b98133;border:1px solid #10b981;color:#6ee7b7;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 0 10px #10b9811a}.prim-weight-card{text-align:center;background:#10b9810a!important;border-color:#10b98126!important;min-width:120px;flex:.5;justify-content:center}.prim-total-weight{font-size:2.2rem;font-weight:800;color:#10b981;text-shadow:0 0 15px rgba(16,185,129,.25);line-height:1}.prim-edge-count{font-size:.75rem;color:#6ee7b7;margin-top:6px;font-weight:600}.prim-legend-card{min-width:160px;flex:.5}.prim-legend-items{display:flex;flex-direction:column;gap:8px}.pl-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:#94a3b8}.pl-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.pl-grey{background:#4b5563}.pl-blue{background:#3b82f6;box-shadow:0 0 5px #3b82f680}.pl-green{background:#10b981;box-shadow:0 0 5px #10b98180}.pl-node{background:#10b98133;border:1px solid #10b981;border-radius:50%}.prim-controls-bar{padding:10px 14px;background:#00000040;border-radius:12px;border:1px solid rgba(255,255,255,.04);flex-shrink:0}@media(max-width:900px){.prim-dual-graphs{flex-direction:column;min-height:auto}.prim-graph-panel{min-height:200px}.prim-info-row{flex-wrap:nowrap}.prim-info-card{min-width:200px}}#astar-container{width:100%;max-width:1440px;margin:0 auto;min-height:calc(100vh - var(--nav-height, 72px));padding:20px clamp(12px,2vw,32px);display:flex;flex-direction:column;align-items:stretch;gap:16px;box-sizing:border-box;color:var(--text-primary)}.astar-visualizer{width:100%}.astar-surface{background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:14px;padding:16px 18px;box-shadow:var(--surface-shadow);width:100%;box-sizing:border-box;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.astar-header-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.astar-header-bar h2{margin:0;font-size:1.2rem;font-weight:700;color:var(--text-primary)}.astar-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.astar-toolbar .group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.astar-toolbar label{font-size:.84rem;color:var(--text-secondary);font-weight:600}.astar-toolbar input,.astar-toolbar select,.astar-toolbar textarea{border:1px solid var(--algo-input-border);background:var(--algo-input-bg);color:var(--algo-input-text);border-radius:8px;padding:7px 10px;font-size:.84rem;transition:background .2s ease,border-color .2s ease,color .2s ease}.astar-toolbar input:focus,.astar-toolbar select:focus,.astar-toolbar textarea:focus{outline:2px solid var(--algo-tab-active-color);outline-offset:1px}.astar-btn{border:1px solid var(--algo-btn-border);background:var(--algo-btn-bg);color:var(--algo-btn-text);border-radius:10px;padding:8px 13px;font-size:.84rem;font-weight:600;cursor:pointer;transition:transform .14s ease,filter .14s ease,background .2s ease,border-color .2s ease,color .2s ease}.astar-btn:hover:not(:disabled){filter:var(--algo-btn-hover-filter, brightness(1.12));transform:translateY(-1px)}.astar-btn:active:not(:disabled){transform:translateY(0)}.astar-btn:disabled{opacity:.5;cursor:not-allowed}.astar-btn.primary{background:#2563eb;border-color:#3b82f6cc;color:#fff}.astar-btn.success{background:#16a34a;border-color:#22c55ebf;color:#fff}.astar-btn.warning{background:#d97706;border-color:#f59e0bbf;color:#fff}.astar-btn.danger{background:#dc2626;border-color:#ef4444bf;color:#fff}.astar-btn.active-tool{outline:2px solid var(--algo-tab-active-color);background:var(--algo-tab-active-bg)}.astar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;width:100%;align-items:start}.astar-canvas-container{display:flex;flex-direction:column;align-items:stretch}.astar-grid-wrap{overflow:auto;width:100%;max-height:66vh;border-radius:12px;border:1px solid var(--algo-grid-border);background:var(--algo-grid-bg);display:flex;justify-content:center;align-items:flex-start;padding:8px;transition:background .25s ease,border-color .25s ease}.astar-svg{display:block;margin:0 auto}.astar-panel{display:flex;flex-direction:column;gap:0}.astar-tabs{display:flex;gap:2px;border-bottom:1px solid var(--surface-border);padding-bottom:8px;overflow-x:auto;margin-bottom:12px}.astar-tab-btn{background:transparent;border:none;color:var(--algo-tab-inactive-color);padding:6px 10px;font-size:.77rem;font-weight:600;cursor:pointer;border-radius:6px;border-bottom:2px solid transparent;transition:color .15s ease,background .15s ease,border-color .15s ease}.astar-tab-btn:hover{color:var(--text-primary);background:var(--surface-bg-raised)}.astar-tab-btn.active{color:var(--algo-tab-active-color);background:var(--algo-tab-active-bg);border-bottom:2px solid var(--algo-tab-active-color)}.astar-tab-content h3{margin:0 0 10px;font-size:.93rem;font-weight:700;color:var(--text-primary)}.astar-panel .metric{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;color:var(--text-secondary);padding:6px 0;border-bottom:1px dashed var(--surface-border)}.astar-panel .metric strong{color:var(--text-primary);font-weight:700}.astar-panel .formula{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--algo-panel-formula-bg);border:1px solid var(--surface-border);font-size:.83rem;color:var(--text-secondary);line-height:1.45;transition:background .25s ease,border-color .25s ease}.trace-steps{display:flex;flex-direction:column;gap:6px;margin-top:8px}.trace-step{font-size:.79rem;background:var(--algo-trace-step-bg);padding:6px 8px;border-radius:6px;border-left:3px solid var(--algo-trace-step-border);color:var(--text-secondary);transition:background .25s ease,border-color .25s ease}.astar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.77rem;color:var(--text-muted);justify-content:center;margin-top:10px}.astar-legend-item{display:inline-flex;align-items:center;gap:6px}.astar-chip{width:12px;height:12px;border-radius:3px;border:1px solid var(--surface-border);flex-shrink:0}.astar-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.astar-custom-grid .full{grid-column:1 / -1}.astar-custom-grid label{display:block;margin-bottom:4px;font-size:.82rem;color:var(--text-secondary);font-weight:600}.astar-custom-grid textarea{min-height:90px;resize:vertical;width:100%}.astar-custom-grid input,.astar-custom-grid select,.astar-custom-grid textarea{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);color:var(--algo-input-text);border-radius:8px;padding:7px 10px;font-size:.84rem;width:100%;box-sizing:border-box;transition:background .2s ease,border-color .2s ease,color .2s ease}.astar-status-bar{width:100%}.astar-status{font-size:.87rem;color:var(--algo-status-text);transition:color .2s ease}.astar-error{color:var(--algo-error-text);font-weight:600;margin-top:4px;transition:color .2s ease}.cell{transition:fill .18s ease,opacity .18s ease,filter .18s ease;cursor:pointer}.cell-empty{fill:var(--algo-cell-empty)}.cell-wall{fill:var(--algo-cell-wall)}.cell-open{fill:#2563eb;filter:drop-shadow(0 0 4px rgba(37,99,235,.85))}.cell-closed{fill:#64748b;opacity:.62}.cell-current{fill:#facc15;animation:astar-pulse-current .85s ease-in-out infinite alternate}.cell-path{fill:#22c55e;filter:drop-shadow(0 0 5px rgba(34,197,94,.8))}.cell-start{fill:#22c55e}.cell-goal{fill:#ef4444}.cell-ripple{animation:astar-ripple-expand .4s ease-out}@keyframes astar-pulse-current{0%{transform:scale(1)}to{transform:scale(.94)}}@keyframes astar-ripple-expand{0%{opacity:.7}to{opacity:1}}@media(max-width:1040px){.astar-layout{grid-template-columns:1fr}.astar-grid-wrap{max-height:55vh}}@media(max-width:760px){#astar-container{padding:10px;gap:10px}.astar-surface{padding:10px;border-radius:12px}.astar-custom-grid{grid-template-columns:1fr}.astar-toolbar label{font-size:.78rem}.astar-btn{padding:7px 9px;font-size:.79rem}}[data-theme=light] .cell-closed{fill:#94a3b8;opacity:.55}[data-theme=light] .astar-grid-wrap{background:var(--algo-grid-bg)}.cs-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.cs-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cs-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.cs-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.cs-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.cs-input-group{display:flex;align-items:center;gap:8px}.cs-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.cs-text-input{width:180px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.cs-text-input:focus{border-color:#38bdf8}.cs-btn-group{display:flex;align-items:center;gap:8px}.cs-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.cs-btn:hover{transform:translateY(-1px)}.cs-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.cs-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.cs-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.cs-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.cs-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.cs-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cs-dot-compare{background:#fbbf24}.cs-dot-swap{background:#ef4444}.cs-dot-sorted{background:#10b981}.cs-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.cs-bars-container{display:flex;gap:12px;align-items:flex-end;justify-content:center;height:220px;width:100%;max-width:700px}.cs-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.cs-bar{width:100%;max-width:44px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .25s ease,box-shadow .25s ease}.cs-bar-default{background:linear-gradient(180deg,#64748b,#334155)}.cs-bar-comparing{background:linear-gradient(180deg,#fbbf24,#d97706);box-shadow:0 0 15px #fbbf2466}.cs-bar-swapping{background:linear-gradient(180deg,#f87171,#dc2626);box-shadow:0 0 15px #ef444473}.cs-bar-sorted{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 0 12px #10b98159}.cs-bar-val{font-size:.82rem;font-weight:800;color:#fff;font-family:Fira Code,monospace;text-shadow:0 1px 2px rgba(0,0,0,.5)}.cs-bar-idx{font-size:.7rem;color:var(--text-muted);font-weight:700;margin-top:6px}.cs-controls-wrapper{flex-shrink:0}@media(max-width:768px){.cs-input-panel{flex-direction:column;align-items:stretch}.cs-legend{margin-left:0;flex-wrap:wrap}}.pal-partition-container{padding:20px;display:flex;flex-direction:column;gap:20px;color:#e2e8f0;height:100%}.pal-input-bar{display:flex;align-items:center;gap:15px;background:#1e293b99;padding:12px 20px;border-radius:12px;border:1px solid #334155;flex-wrap:wrap}.input-field-group{display:flex;align-items:center;gap:8px}.input-field-group label{font-size:.85rem;color:#94a3b8}.input-field-group input{width:120px;background:#0f172a;border:1px solid #334155;color:#fff;padding:6px 10px;border-radius:6px;font-family:JetBrains Mono,monospace;letter-spacing:.1em}.apply-btn,.analogy-btn{padding:8px 16px;background:#3b82f6;border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.apply-btn:hover{background:#2563eb}.analogy-btn{background:#475569}.analogy-btn:hover{background:#334155}.pal-intuition-panel{background:#6366f11a;border-left:4px solid #6366f1;padding:16px 20px;border-radius:8px;animation:slideIn .3s ease-out}.pal-intuition-panel h4{margin:0 0 8px;color:#818cf8;font-size:1rem}.pal-intuition-panel p{font-size:.85rem;margin-bottom:8px;color:#cbd5e1}.edu-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.85rem}.edu-list li{display:flex;align-items:center;gap:8px}.edu-list li strong{color:#818cf8;min-width:80px}.pal-visual-area{flex:1;display:grid;grid-template-columns:1fr 300px;gap:20px;background:#0f172a66;border-radius:16px;padding:24px;min-height:380px}.main-display{display:flex;flex-direction:column;gap:30px;align-items:center;justify-content:center}.exploration-box{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;background:#1e293b4d;border-radius:16px;border:1px dashed #334155;position:relative;min-width:200px}.remaining-string{display:flex;gap:10px}.char-node{width:40px;height:48px;background:#1e293b;border:2px solid #334155;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;font-family:JetBrains Mono,monospace;transition:all .3s}.char-node.active{border-color:#f59e0b;color:#f59e0b;transform:translateY(-4px)}.substring-highlight{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;padding:6px 20px;border-radius:30px;background:#1e293b;color:#94a3b8;min-height:40px}.substring-highlight.check{background:#f59e0b1a;border:2px solid #f59e0b;color:#f59e0b}.substring-highlight.valid{background:#10b9811a;border:2px solid #10b981;color:#10b981}.substring-highlight.invalid{background:#ef44441a;border:2px solid #ef4444;color:#ef4444}.current-path-view{width:100%}.current-path-view h5{margin:0 0 10px;font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.1em}.path-tags{display:flex;flex-wrap:wrap;gap:10px;background:#0f172a99;padding:12px;border-radius:8px;min-height:60px}.path-tag{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:6px;font-family:JetBrains Mono,monospace;font-weight:700;box-shadow:0 4px 12px #3b82f633}.history-column{background:#0f172a99;border-radius:12px;padding:16px;border:1px solid #334155;display:flex;flex-direction:column}.history-column h5{margin:0 0 15px;font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.results-gallery{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1}.result-item{background:#1e293b80;border:1px solid #334155;padding:8px 12px;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:.85rem;color:#e2e8f0;white-space:nowrap}.pulsate-purple{border-left:4px solid #a855f7;animation:pulseBorder 2s infinite}.pal-footer{display:flex;justify-content:space-between;align-items:center;background:#0f172a99;padding:16px 24px;border-radius:12px;border:1px solid #334155}.pal-complexity{display:flex;gap:24px}.comp-item{display:flex;flex-direction:column}.comp-item .label{font-size:.7rem;color:#64748b;text-transform:uppercase}.comp-item .val{font-weight:700;color:#e2e8f0}.pal-legend{display:flex;gap:16px;font-size:.85rem}.leg-item{display:flex;align-items:center;gap:6px;color:#94a3b8}.dot{width:10px;height:10px;border-radius:50%}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.dot.red{background:#ef4444}.dot.blue{background:#3b82f6}.dot.purple{background:#a855f7}.empty-msg{color:#475569;font-size:.85rem;font-style:italic}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulseBorder{0%{border-left-color:#a855f7}50%{border-left-color:#d8b4fe}to{border-left-color:#a855f7}}.status-badge span{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:800}.status-check{background:#f59e0b1a;color:#f59e0b}.status-valid{background:#10b9811a;color:#10b981}.status-backtrack{background:#60a5fa1a;color:#60a5fa}.status-success{background:#a855f71a;color:#a855f7}.pal-controls-wrapper{margin-top:auto}.comb-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.comb-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.comb-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.comb-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.comb-gap-pill{font-size:.82rem;color:var(--text-secondary);background:var(--surface-bg);border:1px solid var(--surface-border);padding:3px 12px;border-radius:20px;font-weight:600;margin-left:auto}.comb-gap-pill strong{color:#fbbf24;font-family:Fira Code,monospace}.comb-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.comb-input-group{display:flex;align-items:center;gap:8px}.comb-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.comb-text-input{width:180px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.comb-text-input:focus{border-color:#38bdf8}.comb-btn-group{display:flex;align-items:center;gap:8px}.comb-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:99px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.comb-btn:hover{transform:translateY(-1px)}.comb-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.comb-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.comb-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.comb-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.comb-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.comb-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.comb-dot-compare{background:#fbbf24}.comb-dot-swap{background:#ef4444}.comb-dot-final{background:#10b981}.comb-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.comb-bars-container{display:flex;gap:12px;align-items:flex-end;justify-content:center;height:220px;width:100%;max-width:700px}.comb-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.comb-bar{width:100%;max-width:44px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .25s ease,box-shadow .25s ease}.comb-bar-default{background:linear-gradient(180deg,#64748b,#334155)}.comb-bar-comparing{background:linear-gradient(180deg,#fbbf24,#d97706);box-shadow:0 0 15px #fbbf2466}.comb-bar-swapping{background:linear-gradient(180deg,#f87171,#dc2626);box-shadow:0 0 15px #ef444473}.comb-bar-final{background:linear-gradient(180deg,#34d399,#059669);box-shadow:0 0 12px #10b98159}.comb-bar-val{font-size:.82rem;font-weight:800;color:#fff;font-family:Fira Code,monospace;text-shadow:0 1px 2px rgba(0,0,0,.5)}.comb-bar-idx{font-size:.7rem;color:var(--text-muted);font-weight:700;margin-top:6px}.comb-controls-wrapper{flex-shrink:0}@media(max-width:768px){.comb-input-panel{flex-direction:column;align-items:stretch}.comb-legend{margin-left:0;flex-wrap:wrap}}.cnt-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.cnt-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cnt-badge{font-size:.8rem;background:#10b9811f;border:1px solid rgba(16,185,129,.3);padding:3px 10px;border-radius:6px;color:#10b981;font-weight:700;white-space:nowrap}.cnt-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.cnt-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.cnt-input-group{display:flex;align-items:center;gap:8px}.cnt-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.cnt-text-input{width:170px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.cnt-text-input:focus{border-color:#10b981}.cnt-btn-group{display:flex;align-items:center;gap:8px;margin-left:auto}.cnt-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.cnt-btn:hover{transform:translateY(-1px)}.cnt-btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.cnt-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.cnt-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.cnt-canvas-wrapper{flex:1;min-height:320px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.cnt-array-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;transition:background .25s ease,border-color .25s ease}.cnt-card-header{font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.cnt-card-header code{background:var(--surface-bg);padding:2px 6px;border-radius:4px;color:#38bdf8;font-size:.8rem;font-family:Fira Code,monospace}.cnt-pills-row{display:flex;gap:8px;flex-wrap:wrap}.cnt-pill{min-width:44px;height:48px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 8px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.cnt-val{font-size:1.05rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.cnt-idx{font-size:.64rem;color:var(--text-muted);font-weight:600}.cnt-pill.active-in{background:#fbbf2433;border-color:#fbbf24;transform:scale(1.08)}.cnt-pill.active-in .cnt-val{color:#fbbf24}.cnt-pill.active-cnt{background:#38bdf833;border-color:#38bdf8;transform:scale(1.08)}.cnt-pill.active-cnt .cnt-val{color:#38bdf8}.cnt-pill-out.filled{background:#10b98126;border-color:#10b981}.cnt-pill-out.filled .cnt-val{color:#10b981}.cnt-pill-out.active-out{background:#10b9814d;border-color:#10b981;transform:scale(1.12);box-shadow:0 0 15px #10b98166}.cnt-controls-wrapper{flex-shrink:0}@media(max-width:768px){.cnt-input-panel{flex-direction:column;align-items:stretch}.cnt-btn-group{margin-left:0}}.fib-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.fib-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fib-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.fib-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.fib-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.fib-input-group{display:flex;align-items:center;gap:8px}.fib-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.fib-number-input{width:80px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease}.fib-number-input:focus{border-color:#c084fc}.fib-btn-group{display:flex;align-items:center;gap:8px}.fib-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.fib-btn:hover{transform:translateY(-1px)}.fib-btn-primary{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.fib-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.fib-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.fib-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.fib-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.fib-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fib-dot.blue{background:#38bdf8}.fib-dot.green{background:#10b981}.fib-dot.gray{background:#64748b}.fib-intuition-panel{background:#a855f714;border-left:4px solid #c084fc;border-radius:10px;padding:12px 16px;font-size:.86rem;color:var(--text-primary);animation:slideDown .25s ease}.fib-intuition-panel h4{margin:0 0 6px;color:#c084fc;font-size:.92rem}.fib-intuition-panel p{margin:0 0 6px;color:var(--text-secondary)}.fib-intuition-panel ul{margin:0;padding-left:18px;color:var(--text-muted)}.fib-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.fib-metrics-row{display:flex;gap:12px;flex-wrap:wrap}.fib-metric-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;padding:6px 14px;display:flex;flex-direction:column;align-items:center;min-width:80px}.metric-lbl{font-size:.68rem;color:var(--text-muted);font-weight:700;text-transform:uppercase}.metric-val{font-size:1.1rem;font-weight:800;color:#c084fc;font-family:Fira Code,monospace}.fib-array-grid{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.fib-cell-wrapper{display:flex;flex-direction:column;align-items:center}.fib-cell{min-width:48px;height:52px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;transition:background .2s ease,border-color .2s ease,transform .2s ease}.fib-val{font-size:1rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.fib-idx{font-size:.64rem;color:var(--text-muted);font-weight:600;margin-top:4px}.fib-ptr-badge{font-size:.58rem;font-weight:800;color:#38bdf8;text-transform:uppercase}.fib-cell.state-check{background:#38bdf833;border-color:#38bdf8;transform:scale(1.08)}.fib-cell.state-check .fib-val{color:#38bdf8}.fib-cell.state-found{background:#10b98140;border-color:#10b981;transform:scale(1.12);box-shadow:0 0 15px #10b98166}.fib-cell.state-found .fib-val{color:#10b981}.fib-cell.state-excluded{opacity:.35}.fib-controls-wrapper{flex-shrink:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.fib-input-panel{flex-direction:column;align-items:stretch}.fib-legend{margin-left:0;flex-wrap:wrap}}.tp-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:14px}.tp-input-panel{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:14px 18px;flex-shrink:0}.tp-field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:120px}.tp-field label{font-size:.72rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.tp-field input{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:8px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;transition:border-color .2s ease,box-shadow .2s ease}.tp-field input:focus{border-color:#06b6d4;box-shadow:0 0 0 2px #06b6d440;outline:none}.tp-apply-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:9px;font-weight:700;font-size:.85rem;cursor:pointer;border:none;background:linear-gradient(135deg,#06b6d4,#0284c7);color:#fff;box-shadow:0 4px 12px #06b6d44d;transition:filter .15s ease,transform .1s ease;white-space:nowrap}.tp-apply-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.tp-canvas{flex:1;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:24px;justify-content:center;overflow:hidden}.tp-stats-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.tp-stat-card{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:10px 20px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:100px}.tp-stat-lbl{font-size:.65rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.tp-stat-val{font-size:1.15rem;font-weight:900;font-family:Fira Code,monospace}.tp-stat-val.cyan{color:#06b6d4}.tp-stat-val.green{color:#10b981}.tp-stat-val.red{color:#ef4444}.tp-stat-val.amber{color:#f59e0b}.tp-stat-val.purple{color:#a855f7}.tp-array-stage{display:flex;flex-direction:column;align-items:center;gap:36px}.tp-pointer-row{display:flex;justify-content:center;gap:8px;height:28px}.tp-pointer-slot{width:54px;display:flex;align-items:center;justify-content:center}.tp-pointer-badge{font-size:.78rem;font-weight:900;padding:2px 10px;border-radius:12px;animation:tp-bounce .4s ease}.tp-pointer-badge.left-ptr{background:#06b6d433;color:#06b6d4;border:1px solid rgba(6,182,212,.4)}.tp-pointer-badge.right-ptr{background:#a855f733;color:#a855f7;border:1px solid rgba(168,85,247,.4)}.tp-array-row{display:flex;justify-content:center;gap:8px}.tp-cell{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:900;font-family:Fira Code,monospace;position:relative;border:2px solid var(--surface-border);background:var(--surface-bg-raised);color:var(--text-primary);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.tp-cell-idx{position:absolute;bottom:-22px;font-size:.65rem;font-weight:700;color:var(--text-muted);font-family:Fira Code,monospace}.tp-cell.discarded{opacity:.28;background:var(--surface-bg);border-style:dashed;transform:scale(.88)}.tp-cell.left-active{background:#06b6d440;border-color:#06b6d4;box-shadow:0 0 20px #06b6d466;transform:translateY(-4px) scale(1.08)}.tp-cell.right-active{background:#a855f740;border-color:#a855f7;box-shadow:0 0 20px #a855f766;transform:translateY(-4px) scale(1.08)}.tp-cell.found{background:#10b9814d;border-color:#10b981;box-shadow:0 0 24px #10b98180;transform:translateY(-6px) scale(1.12);animation:tp-found-pulse .8s ease}.tp-sum-display{display:flex;align-items:center;gap:16px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px 24px;font-family:Fira Code,monospace;font-size:1rem;font-weight:700;color:var(--text-primary);justify-content:center}.tp-sum-val{font-size:1.4rem;font-weight:900}.tp-sum-val.match{color:#10b981}.tp-sum-val.low{color:#f59e0b}.tp-sum-val.high{color:#ef4444}.tp-arrow{color:var(--text-muted);font-size:1.1rem}.tp-decision{text-align:center;font-size:.88rem;font-weight:600;color:var(--text-secondary);padding:8px 20px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:20px;max-width:500px;align-self:center;line-height:1.4}.tp-controls-wrapper{flex-shrink:0}@keyframes tp-bounce{0%{transform:translateY(-6px);opacity:0}60%{transform:translateY(3px);opacity:1}to{transform:translateY(0)}}@keyframes tp-found-pulse{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}.dijk-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.dijk-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dijk-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.dijk-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.dijk-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.dijk-input-group{display:flex;align-items:center;gap:8px}.dijk-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:6px;white-space:nowrap}.dijk-icon{color:#38bdf8}.dijk-start-select{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 14px;font-size:.88rem;font-weight:700;cursor:pointer;outline:none;transition:border-color .2s ease}.dijk-start-select:focus{border-color:#38bdf8}.dijk-btn-group{display:flex;align-items:center;gap:8px}.dijk-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.dijk-btn:hover{transform:translateY(-1px)}.dijk-btn-config{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.dijk-btn-reset{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.dijk-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.dijk-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.dijk-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dijk-dot.blue{background:#38bdf8}.dijk-dot.yellow{background:#fbbf24}.dijk-dot.green{background:#10b981}.dijk-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.dijk-graph-panel{flex:1;min-width:0;min-height:240px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column}.dijk-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dijk-canvas-wrap{flex:1;min-height:200px;position:relative}.dijk-dist-panel{flex:0 0 220px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.dijk-dist-grid{display:flex;flex-direction:column;gap:6px}.dijk-dist-card{padding:8px 12px;background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.node-lbl{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.dist-val{font-size:1rem;font-weight:800;color:#38bdf8;font-family:Fira Code,monospace}.dijk-controls-wrapper{flex-shrink:0}.dijk-modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.dijk-modal-box{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:16px;padding:24px;width:100%;max-width:540px;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;gap:16px}.dijk-modal-header{display:flex;justify-content:space-between;align-items:center}.dijk-modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.dijk-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer}@media(max-width:900px){.dijk-canvas-wrapper{flex-direction:column}.dijk-dist-panel{flex:0 0 auto}.dijk-input-panel{flex-direction:column;align-items:stretch}.dijk-legend{margin-left:0;flex-wrap:wrap}}.mrg-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.mrg-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mrg-badge{font-size:.8rem;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:3px 10px;border-radius:6px;color:#38bdf8;font-weight:700;white-space:nowrap}.mrg-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.mrg-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.mrg-input-group{display:flex;align-items:center;gap:8px}.mrg-input-label{font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.mrg-text-input{width:180px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 12px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;outline:none;transition:border-color .2s ease}.mrg-text-input:focus{border-color:#38bdf8}.mrg-btn-group{display:flex;align-items:center;gap:8px}.mrg-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.mrg-btn:hover{transform:translateY(-1px)}.mrg-btn-primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#fff}.mrg-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.mrg-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.mrg-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.mrg-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.mrg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mrg-dot.blue{background:#38bdf8}.mrg-dot.yellow{background:#fbbf24}.mrg-dot.green{background:#10b981}.mrg-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;align-items:flex-end;justify-content:center;padding:24px 16px 16px;transition:background .25s ease,border-color .25s ease}.mrg-bars-container{display:flex;align-items:flex-end;justify-content:center;gap:12px;width:100%;height:220px}.mrg-bar-wrapper{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;flex:1;max-width:54px}.mrg-bar{width:100%;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;transition:height .3s ease,background .2s ease,border-color .2s ease}.mrg-bar.active-range{background:#38bdf840;border-color:#38bdf8}.mrg-bar.comparing{background:#fbbf244d;border-color:#fbbf24}.mrg-bar.overwriting{background:#10b9814d;border-color:#10b981}.mrg-bar.completed{background:#10b98133;border-color:#10b981}.mrg-bar-val{font-size:.85rem;font-weight:800;color:var(--text-primary);font-family:Fira Code,monospace}.mrg-bar-idx{font-size:.68rem;color:var(--text-muted);font-family:Fira Code,monospace;margin-top:6px}.mrg-controls-wrapper{flex-shrink:0}@media(max-width:768px){.mrg-input-panel{flex-direction:column;align-items:stretch}.mrg-legend{margin-left:0;flex-wrap:wrap}}.kruskal-wrapper{display:flex;flex-direction:column;min-height:600px;gap:10px}.kruskal-step-badge{font-size:.82rem;background:var(--surface-bg-raised);border:1px solid var(--surface-border);padding:4px 10px;border-radius:6px;color:var(--text-secondary);font-weight:600;white-space:nowrap}.kruskal-dual-graphs{display:flex;gap:10px;flex:1;min-height:280px}.kruskal-graph-panel{flex:1;position:relative;background:var(--algo-grid-bg);border-radius:14px;border:1px solid var(--algo-grid-border);overflow:hidden;min-height:250px;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.kruskal-mst-panel{border-color:#10b98126}.kruskal-graph-label{position:absolute;top:8px;left:12px;z-index:5;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff73;background:#0006;padding:3px 10px;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kruskal-mst-label{color:#34d399;background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.kruskal-graph-canvas-wrap{width:100%;flex:1;min-height:220px;position:relative;display:flex;flex-direction:column}.kruskal-info-row{display:flex;gap:10px;flex-shrink:0;overflow-x:auto;padding-bottom:4px}.kruskal-info-card{background:#0f172a99;border-radius:12px;border:1px solid rgba(255,255,255,.08);padding:12px 14px;flex:1;min-width:160px}.kruskal-card-title{margin:0 0 10px;font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.kruskal-edge-list{display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto;padding-right:4px}.kruskal-edge-list::-webkit-scrollbar{width:4px}.kruskal-edge-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.kruskal-edge-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:6px;font-size:.82rem;font-family:Fira Code,Cascadia Code,monospace;color:#94a3b8;background:#ffffff05;border-left:3px solid rgba(255,255,255,.08);transition:all .25s ease}.kruskal-edge-item .ke-nodes{flex:1}.kruskal-edge-item .ke-weight{font-size:.75rem;color:#64748b}.kruskal-edge-item .ke-badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;flex-shrink:0}.kruskal-edge-item.edge-considering{background:#3b82f61f;border-left-color:#3b82f6;color:#93c5fd;font-weight:600}.ke-badge-cur{background:#3b82f640;color:#60a5fa}.kruskal-edge-item.edge-accepted{background:#10b9811a;border-left-color:#10b981;color:#a7f3d0}.ke-badge-ok{background:#10b98140;color:#34d399}.kruskal-edge-item.edge-rejected{background:#ef444414;border-left-color:#ef4444;color:#fca5a5;text-decoration:line-through;opacity:.7}.ke-badge-no{background:#ef444433;color:#f87171}.kruskal-sets-wrap{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow-y:auto}.kruskal-set-group{background:#00000040;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;min-width:55px}.ks-root{background:#3b82f626;color:#93c5fd;padding:3px 8px;font-size:.72rem;font-weight:700;text-align:center;border-bottom:1px solid rgba(255,255,255,.04)}.ks-members{padding:5px 6px;display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.ks-member{font-size:.78rem;color:#cbd5e1;background:#ffffff0d;padding:2px 6px;border-radius:4px;transition:all .2s}.ks-member.ks-member-active{color:#fef08a;background:#eab30833;transform:scale(1.1)}.kruskal-weight-card{text-align:center;background:#10b9810a!important;border-color:#10b98126!important;min-width:120px;flex:.5}.kruskal-total-weight{font-size:2.2rem;font-weight:800;color:#10b981;text-shadow:0 0 15px rgba(16,185,129,.25);line-height:1}.kruskal-edge-count{font-size:.75rem;color:#6ee7b7;margin-top:6px;font-weight:600}.kruskal-legend-card{min-width:130px;flex:.5}.kruskal-legend-items{display:flex;flex-direction:column;gap:6px}.kl-item{display:flex;align-items:center;gap:8px;font-size:.78rem;color:#94a3b8}.kl-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.kl-grey{background:#4b5563}.kl-blue{background:#3b82f6}.kl-green{background:#10b981}.kl-red{background:#ef4444}.kruskal-controls-bar{padding:10px 14px;background:#00000040;border-radius:12px;border:1px solid rgba(255,255,255,.04);flex-shrink:0}@media(max-width:900px){.kruskal-dual-graphs{flex-direction:column;min-height:auto}.kruskal-graph-panel{min-height:200px}.kruskal-info-row{flex-wrap:nowrap}.kruskal-info-card{min-width:200px}}.bit-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:580px;gap:12px}.bit-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bit-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.bit-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.bit-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bit-input-group{display:flex;align-items:center;gap:8px}.bit-input-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.bit-icon{font-size:.85rem;color:#c084fc}.bit-number-input{width:75px;background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:6px 10px;font-size:.9rem;font-weight:700;font-family:Fira Code,monospace;text-align:center;outline:none;transition:border-color .2s ease,background .2s ease}.bit-number-input:focus{border-color:#c084fc;box-shadow:0 0 0 2px #c084fc2e}.op-selector{display:flex;gap:4px;background:var(--surface-bg);padding:4px;border-radius:10px;border:1px solid var(--surface-border);flex-wrap:wrap}.op-btn{padding:5px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:700;border-radius:7px;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.op-btn:hover{color:var(--text-primary);background:var(--surface-bg-raised)}.op-btn.active{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff;box-shadow:0 2px 8px #a855f74d}.bit-btn-group{display:flex;align-items:center;gap:8px;margin-left:auto}.bit-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.bit-btn:hover{transform:translateY(-1px)}.bit-btn-secondary{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.bit-btn-secondary:hover{background:var(--surface-bg-raised);color:var(--text-primary)}.bit-btn-outline{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.bit-btn-outline:hover{background:var(--surface-bg);color:var(--text-primary)}.bit-stage-card{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;justify-content:center;align-items:center;padding:24px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.bit-grid{display:flex;flex-direction:column;gap:1.25rem;align-items:center;min-width:-moz-min-content;min-width:min-content}.bit-row{display:flex;align-items:center;gap:1.5rem;width:100%}.row-label{min-width:140px;font-family:Fira Code,monospace;font-size:1.05rem;font-weight:700;text-align:right;color:var(--text-secondary)}.binary-cells{display:flex;gap:6px;position:relative}.bit-cell{width:44px;height:50px;display:flex;justify-content:center;align-items:center;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:10px;font-family:Fira Code,monospace;font-size:1.25rem;font-weight:800;color:var(--text-primary);box-shadow:var(--surface-shadow);transition:background .25s ease,border-color .25s ease,transform .2s ease,color .25s ease}.active-compare{background:#eab30840;border-color:#eab308;color:#fef08a;box-shadow:0 0 15px #eab3084d;transform:scale(1.08)}.bit-divider{height:2px;background:var(--surface-border);width:100%;margin-top:-.25rem;margin-bottom:-.25rem}.result-row .bit-cell.result{color:#60a5fa;background:#3b82f61f;border-color:#3b82f659}.result-row .bit-cell.empty{color:transparent;border-color:var(--surface-border);opacity:.3}.result-row .bit-cell.active-write{background:#38bdf840;border-color:#38bdf8;transform:scale(1.12);color:#bae6fd}.result-row .bit-cell.match-highlight{background:#22c55e40;border-color:#22c55e;color:#86efac;box-shadow:0 0 15px #22c55e59}.shift-container{overflow:hidden;width:394px;position:relative;border-radius:8px}.shift-track{display:flex;gap:6px;width:-moz-max-content;width:max-content}.shifted-fill{background:#f9731633!important;border-color:#f97316!important;color:#fdba74!important}.index-row{margin-top:.25rem}.index-cells .index-cell{width:44px;text-align:center;font-size:.75rem;font-weight:700;color:var(--text-muted);font-family:Fira Code,monospace}.bit-legend{display:flex;justify-content:center;gap:1.5rem;padding:10px 16px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;flex-wrap:wrap;transition:background .25s ease,border-color .25s ease}.leg-item{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.box{width:12px;height:12px;border-radius:3px;border:1px solid transparent}.box-compare{background:#eab3084d;border-color:#eab308}.box-write{background:#38bdf84d;border-color:#38bdf8}.box-result{background:#3b82f633;border-color:#3b82f6}.box-shift{background:#f973164d;border-color:#f97316}.bit-controls-wrapper{flex-shrink:0}@media(max-width:900px){.bit-input-panel{flex-direction:column;align-items:stretch}.bit-btn-group{margin-left:0}.bit-row{flex-direction:column;align-items:flex-start;gap:.5rem}.row-label{text-align:left;min-width:auto}}.bf-wrapper{display:flex;flex-direction:column;min-height:620px;gap:10px}.bf-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bf-input-group{display:flex;align-items:center;gap:8px}.bf-input-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.bf-source-select{background:var(--algo-input-bg);border:1px solid var(--algo-input-border);border-radius:8px;color:var(--algo-input-text);padding:5px 12px;font-size:.88rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,background .2s ease}.bf-source-select:hover{border-color:#6366f1}.bf-source-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.bf-btn-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.bf-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .2s ease;letter-spacing:.3px;white-space:nowrap}.bf-btn:hover{transform:translateY(-1px)}.bf-btn:active{transform:translateY(0)}.bf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.bf-btn-config{background:#38bdf81a;color:#38bdf8;border-color:#38bdf84d}.bf-btn-config:hover{background:#38bdf82e;box-shadow:0 4px 12px #38bdf833}.bf-btn-reset{background:var(--surface-bg);color:var(--text-secondary);border-color:var(--surface-border)}.bf-btn-reset:hover{background:var(--surface-bg-raised)}.bf-btn-play{background:#22c55e1f;color:#22c55e;border-color:#22c55e59}.bf-btn-play:hover{background:#22c55e33;box-shadow:0 4px 12px #22c55e33}.bf-btn-danger{background:#ef444414;color:#ef4444;border-color:#ef444440}.bf-btn-danger:hover{background:#ef444429}.bf-iter-badge{font-size:.82rem;background:#6366f126;padding:4px 12px;border-radius:6px;color:#a5b4fc;font-weight:700;white-space:nowrap;border:1px solid rgba(99,102,241,.25)}[data-theme=light] .bf-iter-badge{color:#4f46e5;background:#6366f11a}.bf-main-area{display:flex;gap:10px;flex:1 1 0;min-height:320px}.bf-graph-panel{flex:1 1 0;min-width:0;min-height:300px;position:relative;background:var(--algo-grid-bg);border-radius:14px;border:1px solid var(--algo-grid-border);overflow:hidden;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.bf-graph-label{position:absolute;top:8px;left:12px;z-index:5;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);background:var(--surface-bg);padding:3px 10px;border-radius:6px;border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .25s ease,border-color .25s ease}.bf-graph-canvas-wrap{flex:1;min-height:300px;position:relative;display:flex;flex-direction:column}.bf-dist-panel{flex:0 0 200px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px;display:flex;flex-direction:column;overflow:hidden;transition:background .25s ease,border-color .25s ease}.bf-dist-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.bf-card-title{margin:0 0 10px;font-size:.78rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.bf-path-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}.bf-path-table thead th{padding:5px 8px;text-align:left;color:var(--text-muted);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--surface-border);position:sticky;top:0;background:var(--surface-bg-raised);z-index:3}.bf-path-table tbody tr{transition:background .15s ease}.bf-path-table tbody tr:hover{background:var(--surface-bg)}.bf-path-table tbody td{padding:5px 8px}.bf-row-source .bf-td-node .bf-node-chip{color:#60a5fa;font-weight:800}.bf-node-chip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-bg);border:1px solid var(--surface-border);font-weight:700;font-size:.78rem;color:var(--text-primary);transition:background .2s ease,border-color .2s ease}.bf-td-dist{color:#a5b4fc;font-weight:800;font-family:Fira Code,monospace}.bf-td-inf{color:var(--text-muted);font-family:Fira Code,monospace}.bf-td-prev{color:var(--text-secondary);font-family:Fira Code,monospace;font-size:.73rem}[data-theme=light] .bf-td-dist{color:#4f46e5}.bf-info-row{display:flex;gap:10px;flex-shrink:0;overflow-x:auto}.bf-info-card{background:var(--surface-bg-raised);border-radius:12px;border:1px solid var(--surface-border);padding:12px 14px;flex:1;min-width:160px;display:flex;flex-direction:column;transition:background .25s ease,border-color .25s ease}.bf-formula-card{flex:1.6}.bf-legend-card{flex:.6;min-width:140px}.bf-formula-text{font-family:Fira Code,Cascadia Code,monospace;font-size:.85rem;color:#c7d2fe;background:#6366f114;padding:10px 14px;border-radius:8px;border-left:3px solid #6366f1;line-height:1.6;word-break:break-all;transition:background .2s ease,border-color .2s ease,color .2s ease}[data-theme=light] .bf-formula-text{color:#4338ca;background:#6366f112}.bf-formula-text.bf-relaxed{border-left-color:#10b981;background:#10b98114;color:#6ee7b7}[data-theme=light] .bf-formula-text.bf-relaxed{color:#065f46}.bf-formula-text.bf-no-update{border-left-color:var(--surface-border);background:var(--surface-bg);color:var(--text-muted)}.bf-legend-items{display:flex;flex-direction:column;gap:7px}.bf-legend-item{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--text-secondary)}.bf-legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.bf-dot-source{background:#3b82f6;box-shadow:0 0 6px #3b82f680}.bf-dot-relaxed{background:#10b981;box-shadow:0 0 6px #10b98180}.bf-dot-shortest{background:#fbbf24;box-shadow:0 0 6px #fbbf2480}.bf-dot-cycle{background:#ef4444;box-shadow:0 0 6px #ef444480}.bf-dot-skip{background:var(--text-muted)}.bf-neg-cycle-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:10px;padding:12px 18px;display:flex;align-items:center;gap:12px;flex-shrink:0;animation:bf-pulse-red 2s ease-in-out infinite}.bf-neg-cycle-icon{font-size:1.5rem;flex-shrink:0}.bf-neg-cycle-text{font-size:.88rem;font-weight:700;color:#fca5a5;line-height:1.4}.bf-neg-cycle-text span{display:block;font-size:.78rem;font-weight:500;color:#f87171;margin-top:3px}[data-theme=light] .bf-neg-cycle-text{color:#b91c1c}@keyframes bf-pulse-red{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 20px 2px #ef444426}}.bf-controls-bar{padding:10px 14px;background:var(--surface-bg-raised);border-radius:12px;border:1px solid var(--surface-border);flex-shrink:0;transition:background .25s ease,border-color .25s ease}.bf-modal-backdrop{position:fixed;inset:0;background:#0f172acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center}.bf-modal-box{background:var(--surface-bg);padding:24px;border-radius:18px;min-width:450px;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--surface-border);box-shadow:0 25px 50px -12px #00000080;transition:background .25s ease,border-color .25s ease}.bf-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.bf-modal-header h3{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:10px;font-size:1.05rem}.bf-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .2s ease,background .2s ease}.bf-modal-close:hover{color:var(--text-primary);background:var(--surface-bg-raised)}.bf-modal-footer{margin-top:20px;display:flex;gap:10px}@media(max-width:900px){.bf-main-area{flex-direction:column}.bf-dist-panel{flex:0 0 auto;max-height:180px}.bf-graph-panel{min-height:240px}.bf-info-row{flex-wrap:nowrap;overflow-x:auto}}@media(max-width:600px){.bf-input-panel{flex-direction:column;align-items:flex-start}.bf-btn-group{margin-left:0}.bf-info-row{flex-wrap:wrap}.bf-info-card{min-width:100%;flex:1 1 100%}.bf-modal-box{min-width:90vw}}.fw-visualizer-wrapper{display:flex;flex-direction:column;height:100%;min-height:560px;gap:12px}.fw-desc-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fw-badge{font-size:.8rem;background:#a855f71f;border:1px solid rgba(168,85,247,.3);padding:3px 10px;border-radius:6px;color:#c084fc;font-weight:700;white-space:nowrap}.fw-desc-text{font-size:.9rem;color:var(--text-primary);font-weight:600}.fw-input-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:14px;padding:12px 16px;flex-shrink:0;transition:background .25s ease,border-color .25s ease}.fw-btn-group{display:flex;align-items:center;gap:8px}.fw-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:9px;font-size:.82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease;white-space:nowrap}.fw-btn:hover{transform:translateY(-1px)}.fw-btn-config{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff}.fw-btn-reset{background:transparent;color:var(--text-muted);border-color:var(--surface-border)}.fw-legend{display:flex;align-items:center;gap:12px;margin-left:auto;background:var(--surface-bg);padding:5px 14px;border-radius:20px;border:1px solid var(--surface-border)}.fw-leg-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-secondary);font-weight:600}.fw-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.fw-dot.purple{background:#c084fc}.fw-dot.yellow{background:#fbbf24}.fw-dot.green{background:#10b981}.fw-canvas-wrapper{flex:1;min-height:280px;background:var(--algo-grid-bg);border:1px solid var(--algo-grid-border);border-radius:16px;display:flex;padding:16px;gap:16px;overflow-x:auto;transition:background .25s ease,border-color .25s ease}.fw-graph-panel{flex:1;min-width:0;min-height:240px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column}.fw-card-title{font-size:.8rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.fw-card-title code{color:#c084fc;font-family:Fira Code,monospace}.fw-canvas-wrap{flex:1;min-height:200px;position:relative}.fw-matrix-panel{flex:0 0 240px;background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px}.fw-matrix-scroll{overflow-x:auto}.fw-matrix-table{border-collapse:collapse;width:100%;font-size:.85rem}.fw-matrix-table th,.fw-matrix-table td{padding:6px 10px;border:1px solid var(--surface-border);text-align:center;font-family:Fira Code,monospace}.fw-matrix-table th{background:var(--surface-bg);color:var(--text-secondary);font-size:.76rem;font-weight:700}.fw-matrix-table td{color:var(--text-primary);font-weight:700}.fw-matrix-table td.inf{color:var(--text-muted)}.fw-controls-wrapper{flex-shrink:0}.fw-modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.fw-modal-box{background:var(--surface-bg-raised);border:1px solid var(--surface-border);border-radius:16px;padding:24px;width:100%;max-width:520px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;gap:16px}.fw-modal-header{display:flex;justify-content:space-between;align-items:center}.fw-modal-header h3{margin:0;font-size:1.1rem;color:var(--text-primary);display:flex;align-items:center;gap:8px}.fw-modal-close{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer}@media(max-width:900px){.fw-canvas-wrapper{flex-direction:column}.fw-matrix-panel{flex:0 0 auto}.fw-input-panel{flex-direction:column;align-items:stretch}.fw-legend{margin-left:0;flex-wrap:wrap}}.arena-container{background:var(--surface-bg, #0f172a);border:1px solid var(--surface-border, rgba(255, 255, 255, .1));border-radius:20px;padding:24px;margin:24px auto 0;max-width:1400px;box-shadow:0 12px 32px #00000040;display:flex;flex-direction:column;gap:20px;color:var(--text-primary, #f8fafc)}.arena-header-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .08))}.arena-title-group h3{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary, #ffffff);display:flex;align-items:center;gap:10px}.arena-title-group p{margin:4px 0 0;font-size:.85rem;color:var(--text-muted, #94a3b8)}.arena-global-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.arena-toolbar-group{display:flex;align-items:center;gap:6px;background:var(--surface-bg-raised, #1e293b);padding:4px 8px;border-radius:10px;border:1px solid var(--surface-border, rgba(255, 255, 255, .1))}.arena-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .18s ease;white-space:nowrap;background:transparent;color:var(--text-primary, #f8fafc)}.arena-btn:disabled{opacity:.4;cursor:not-allowed}.arena-btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;box-shadow:0 4px 12px #0284c740}.arena-btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.arena-btn-accent{background:linear-gradient(135deg,#a855f7,#7e22ce);color:#fff;box-shadow:0 4px 12px #a855f740}.arena-btn-accent:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.arena-btn-outline{background:var(--surface-bg-raised, #1e293b);border-color:var(--surface-border, rgba(255, 255, 255, .12));color:var(--text-primary, #e2e8f0)}.arena-btn-outline:hover:not(:disabled){background:var(--surface-bg, #334155);border-color:var(--text-muted, #94a3b8)}.arena-btn-danger{background:#ef444426;border-color:#ef44444d;color:#f87171}.arena-btn-danger:hover:not(:disabled){background:#ef444440}.arena-speed-control{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:var(--text-muted, #94a3b8);background:var(--surface-bg-raised, #1e293b);padding:6px 12px;border-radius:10px;border:1px solid var(--surface-border, rgba(255, 255, 255, .1))}.arena-speed-control input[type=range]{width:90px;accent-color:#0284c7;cursor:pointer}.arena-equal-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#38bdf814;border:1px solid rgba(56,189,248,.25);border-radius:10px;font-size:.82rem;color:#38bdf8}.arena-winner-card{display:flex;align-items:center;gap:16px;padding:14px 20px;background:linear-gradient(135deg,#fbbf241f,#f59e0b0d);border:1px solid rgba(251,191,36,.4);border-radius:14px;color:#fbbf24;animation:winnerGlow 1.5s ease-in-out infinite alternate}@keyframes winnerGlow{0%{box-shadow:0 0 10px #fbbf2426}to{box-shadow:0 0 20px #fbbf2459}}.arena-winner-title{font-size:1rem;font-weight:800;margin:0}.arena-winner-desc{margin:2px 0 0;font-size:.8rem;color:var(--text-secondary, #cbd5e1)}.arena-lanes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;justify-content:center;margin:0 auto;width:100%}@media(max-width:1024px){.arena-lanes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.arena-lanes-grid{grid-template-columns:1fr}}.arena-lane-card{background:var(--surface-bg-raised, #1e293b);border:1px solid var(--surface-border, rgba(255, 255, 255, .1));border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px #0003;min-width:0}.arena-lane-card.is-winner{border-color:#fbbf24;box-shadow:0 0 20px #fbbf2440}.arena-lane-card.is-running{border-color:#0284c7}.lane-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .08))}.lane-algo-name{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary, #ffffff);letter-spacing:-.01em}.lane-badges{display:flex;align-items:center;gap:6px}.lane-badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;background:#ffffff14;color:var(--text-secondary, #cbd5e1)}.lane-badge.status-running{background:#0284c733;color:#38bdf8;border:1px solid rgba(2,132,199,.4)}.lane-badge.status-done{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.4)}.lane-badge.status-stopped{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.4)}.lane-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.metric-card{background:var(--surface-bg, #0f172a);border:1px solid var(--surface-border, rgba(255, 255, 255, .06));border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.metric-card-lbl{font-size:.65rem;font-weight:700;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.metric-card-val{font-size:.95rem;font-weight:800;font-family:Fira Code,monospace;color:var(--text-primary, #f8fafc)}.lane-canvas-wrapper{background:var(--algo-grid-bg, #0f172a);border:1px solid var(--surface-border, rgba(255, 255, 255, .08));border-radius:12px;padding:12px;overflow:auto;display:flex;flex-direction:column;justify-content:center;min-height:250px;max-height:320px;position:relative}.lane-step-desc{min-height:38px;font-size:.82rem;color:var(--text-secondary, #cbd5e1);line-height:1.45;padding:8px 12px;background:var(--surface-bg, #0f172a);border-radius:8px;border-left:3px solid #0284c7;display:flex;align-items:center}.lane-controls-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lane-input-group{display:flex;align-items:center;gap:8px;width:100%}.lane-input-field{flex:1;background:var(--algo-input-bg, #0f172a);border:1px solid var(--algo-input-border, rgba(255, 255, 255, .12));border-radius:8px;padding:6px 12px;color:var(--text-primary, #ffffff);font-size:.85rem;font-family:Fira Code,monospace}.lane-input-field:focus{border-color:#0284c7;outline:none}.comparison-page{--comparison-ink: #f4f3ee;--comparison-muted: #a9afa9;--comparison-faint: #747a74;--comparison-line: rgba(244, 243, 238, .13);--comparison-surface: #171c18;--comparison-raised: #1d231f;--comparison-accent: #dd8d32;max-width:1400px;margin:0 auto;padding:clamp(24px,4vw,60px) clamp(16px,3vw,40px) 72px;color:var(--comparison-ink)}[data-theme=light] .comparison-page{--comparison-ink: #18201b;--comparison-muted: #59645b;--comparison-faint: #7a837a;--comparison-line: rgba(24, 32, 27, .14);--comparison-surface: #fffef9;--comparison-raised: #f4f3ec;--comparison-accent: #b8641c}.comparison-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);align-items:flex-end;gap:32px;padding-bottom:clamp(24px,4vw,40px);border-bottom:1px solid var(--comparison-line)}.comparison-kicker{margin:0;color:var(--comparison-accent);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.comparison-intro h1{max-width:760px;margin:10px 0 0;color:var(--comparison-ink);font-size:clamp(2rem,4vw,3.5rem);font-weight:750;letter-spacing:-.04em;line-height:1.05}.comparison-intro>p{margin:0;color:var(--comparison-muted);font-size:.95rem;line-height:1.6}.comparison-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.comparison-slot{position:relative;display:flex;flex-direction:column;min-height:380px;padding:22px;background:var(--surface-bg-raised, #1e293b);border:1px solid var(--surface-border, rgba(255, 255, 255, .1));border-radius:16px;box-shadow:0 4px 16px #00000026}.comparison-slot-label,.comparison-slot-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.comparison-slot-label{color:var(--comparison-faint);font-family:var(--font-mono, monospace);font-size:.7rem;font-weight:700}.comparison-slot-label span:last-child{padding:3px 8px;border:1px solid var(--comparison-line);border-radius:6px;font-family:var(--font-body);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#ffffff0a}.comparison-slot-heading{margin-top:24px}.comparison-slot-heading h2{margin:0;color:var(--comparison-ink);font-size:1.35rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}.comparison-slot-heading button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--comparison-line);border-radius:8px;background:transparent;color:var(--comparison-muted);cursor:pointer;transition:all .2s ease}.comparison-slot-heading button:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}.comparison-category{margin:6px 0 0;color:var(--comparison-accent);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.comparison-description{margin:14px 0 0;color:var(--comparison-muted);font-size:.85rem;line-height:1.5}.comparison-complexity{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 0}.comparison-complexity div{padding:8px 10px;background:var(--surface-bg, #0f172a);border-radius:8px;border:1px solid var(--surface-border, rgba(255, 255, 255, .06))}.comparison-complexity dt{color:var(--comparison-faint);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.comparison-complexity dd{margin:3px 0 0;color:var(--comparison-ink);font-family:var(--font-mono, monospace);font-size:.8rem;font-weight:700}.comparison-use-cases{margin-top:auto;padding-top:18px}.comparison-use-cases p{margin:0;color:var(--comparison-faint);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.comparison-use-cases ul{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}.comparison-use-cases li{color:var(--comparison-muted);font-size:.75rem;background:#ffffff0f;padding:3px 8px;border-radius:6px;font-weight:600}.comparison-search-wrap{position:relative;margin-top:40px}.comparison-search-wrap>label{display:block;margin-bottom:8px;color:var(--comparison-faint);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.comparison-search{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--surface-border, rgba(255, 255, 255, .12));border-radius:10px;background:var(--surface-bg, #0f172a);color:var(--comparison-faint)}.comparison-search:focus-within{border-color:#0284c7;box-shadow:0 0 0 3px #0284c733}.comparison-search svg{font-size:.85rem}.comparison-search input{width:100%;border:0;outline:0;background:transparent;color:var(--comparison-ink);font-size:.88rem;font-weight:600}.comparison-search input::-moz-placeholder{color:var(--comparison-faint)}.comparison-search input::placeholder{color:var(--comparison-faint)}.comparison-suggestions{position:absolute;right:0;left:0;z-index:10;margin-top:6px;border:1px solid var(--surface-border, rgba(255, 255, 255, .12));border-radius:12px;background:var(--surface-bg-raised, #1e293b);box-shadow:0 16px 32px #00000059;overflow:hidden}.comparison-suggestions button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .06));background:transparent;color:var(--comparison-ink);text-align:left;cursor:pointer;transition:background .15s ease}.comparison-suggestions button:last-child{border-bottom:0}.comparison-suggestions button:hover{background:#ffffff14}.comparison-suggestions span{font-size:.85rem;font-weight:700}.comparison-suggestions small{color:var(--comparison-faint);font-size:.72rem}.comparison-suggestions>p{margin:0;padding:14px;color:var(--comparison-muted);font-size:.82rem}.comparison-action{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--comparison-line)}.comparison-action p{margin:0;color:var(--comparison-muted);font-size:.9rem;font-weight:600}.comparison-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;gap:10px;padding:0 24px;border:0;border-radius:10px;background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #0284c74d;transition:all .2s ease}.comparison-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.comparison-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.comparison-visualization{margin-top:32px}@media(max-width:920px){.comparison-intro{grid-template-columns:1fr;gap:18px}.comparison-selector-grid{grid-template-columns:1fr}}@keyframes float-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes progress-fill{0%{stroke-dashoffset:283}}@keyframes fire-flicker{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(-4deg)}}@keyframes xp-fill{0%{width:0%}}@keyframes glow-pulse{0%,to{box-shadow:0 0 18px #f973161f}50%{box-shadow:0 0 32px #f9731640}}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cp-root{font-family:DM Sans,Inter,-apple-system,sans-serif;max-width:1320px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,3vw,40px) 64px;color:var(--text-primary, #f8fafc)}.cp-hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.07);gap:20px;flex-wrap:wrap}.cp-hero h1{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800;color:var(--text-primary, #f8fafc);margin:0 0 4px;letter-spacing:-.04em;line-height:1.05}.cp-hero h1 span,.cp-hero-username{background:linear-gradient(135deg,var(--primary-orange, #F97316),var(--primary-teal, #14B8A6));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.cp-subtitle{color:var(--text-secondary, #94a3b8);font-size:.93rem;font-weight:400;max-width:500px;margin-top:8px;line-height:1.6}.cp-level-badge{display:inline-flex;align-items:center;gap:8px;background:#f9731614;border:1px solid rgba(249,115,22,.22);border-radius:20px;padding:6px 14px;font-size:.78rem;font-weight:600;color:var(--primary-orange, #F97316);margin-top:12px}.cp-level-badge .level-num{background:linear-gradient(135deg,var(--primary-orange, #F97316),var(--accent-yellow, #FBBF24));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.cp-profile-link{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-primary, #f8fafc);font-size:.8rem;font-weight:600;text-decoration:none;background:#ffffff0a;transition:background .2s ease,border-color .2s ease;white-space:nowrap}.cp-profile-link:hover{border-color:#f9731659;background:#f9731612}.cp-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@media(max-width:900px){.cp-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.cp-stats-grid{grid-template-columns:1fr}}.cp-stat-card{background:#0f172a8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:20px;animation:float-up .45s ease-out both;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;position:relative;overflow:hidden}.cp-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:16px 16px 0 0;opacity:0;transition:opacity .25s ease}.cp-stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px #00000040;border-color:#ffffff1f}.cp-stat-card:hover:before{opacity:1}.cp-stat-card:nth-child(1){animation-delay:0ms}.cp-stat-card:nth-child(1):before{background:linear-gradient(90deg,var(--primary-teal,#14B8A6),#3b82f6)}.cp-stat-card:nth-child(2){animation-delay:70ms}.cp-stat-card:nth-child(2):before{background:linear-gradient(90deg,var(--primary-orange,#F97316),var(--accent-yellow,#FBBF24))}.cp-stat-card:nth-child(3){animation-delay:.14s}.cp-stat-card:nth-child(3):before{background:linear-gradient(90deg,#8b5cf6,#ec4899)}.cp-stat-card:nth-child(4){animation-delay:.21s}.cp-stat-card:nth-child(4):before{background:linear-gradient(90deg,#22c55e,var(--primary-teal,#14B8A6))}.cp-stat-label{font-size:.7rem;font-weight:700;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.cp-stat-value{font-size:1.75rem;font-weight:800;color:var(--text-primary, #f8fafc);line-height:1}.cp-stat-sub{font-size:.75rem;color:var(--text-muted, #64748b);margin-top:6px}.cp-progress-ring{position:relative;width:78px;height:78px}.cp-progress-ring svg{transform:rotate(-90deg)}.cp-progress-ring .ring-bg{fill:none;stroke:#ffffff0f;stroke-width:6}.cp-progress-ring .ring-fill{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.cp-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.cp-ring-center .ring-num{font-size:1.05rem;font-weight:800;color:var(--text-primary,#f8fafc);line-height:1}.cp-ring-center .ring-label{font-size:.58rem;color:var(--text-muted,#64748b);margin-top:1px}.cp-diff-breakdown{display:flex;flex-direction:column;gap:5px;margin-top:8px}.cp-diff-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.cp-diff-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cp-diff-row span{color:var(--text-secondary,#94a3b8)}.cp-diff-row span:last-child{color:var(--text-primary,#f8fafc);margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums}.cp-streak-fire{font-size:2rem;animation:fire-flicker 1.6s ease-in-out infinite;display:inline-block}.cp-xp-bar-track{width:100%;height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden;margin-top:12px}.cp-xp-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--primary-orange,#F97316),var(--accent-yellow,#FBBF24));animation:xp-fill 1.2s ease-out both;animation-delay:.3s}.cp-daily-card{background:linear-gradient(135deg,#f9731612,#14b8a60a,#0f172a99);border:1px solid rgba(249,115,22,.2);border-left:3px solid var(--primary-orange,#F97316);border-radius:18px;padding:26px 30px;margin-bottom:24px;position:relative;overflow:hidden;animation:glow-pulse 4s ease-in-out infinite;transition:border-color .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cp-daily-card:hover{border-color:#f9731661}.cp-daily-card:after{display:none}.cp-daily-badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--primary-orange,#F97316);margin-bottom:10px}.cp-daily-title{font-size:1.35rem;font-weight:700;color:var(--text-primary,#f8fafc);margin:0 0 10px;letter-spacing:-.02em}.cp-daily-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px;color:var(--text-secondary,#94a3b8)}.cp-countdown{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--accent-yellow,#FBBF24);animation:countdown-pulse 2s ease-in-out infinite}.cp-xp-reward{display:inline-flex;align-items:center;gap:4px;background:#f973161f;border:1px solid rgba(249,115,22,.28);color:var(--primary-orange,#F97316);padding:3px 10px;border-radius:10px;font-size:.73rem;font-weight:700}.cp-solve-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--primary-orange,#F97316),#ea6b0a);color:#fff;font-weight:700;font-size:.88rem;padding:10px 26px;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px #f973164d}.cp-solve-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f973166b}.cp-daily-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:8px;font-size:.72rem;font-weight:700}.cp-daily-status.solved{color:#34d399;background:#34d3991a;border:1px solid rgba(52,211,153,.25)}.cp-daily-status.pending{color:var(--primary-orange,#F97316);background:#f973161a;border:1px solid rgba(249,115,22,.25)}.cp-calendar-card{margin-bottom:24px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 12% 12%,rgba(249,115,22,.1),transparent 42%),radial-gradient(circle at 85% 15%,rgba(20,184,166,.09),transparent 40%),#0f172a9e;padding:22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cp-calendar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.cp-calendar-title{color:var(--text-primary,#f8fafc);font-size:1rem;font-weight:700}.cp-calendar-subtitle{margin-top:3px;color:var(--text-secondary,#94a3b8);font-size:.8rem}.cp-calendar-nav{display:inline-flex;align-items:center;gap:8px}.cp-calendar-nav-btn{width:30px;height:30px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#0f172ab3;color:var(--text-secondary,#94a3b8);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.cp-calendar-nav-btn:hover:not(:disabled){border-color:#f9731666;color:var(--primary-orange,#F97316)}.cp-calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cp-calendar-month{min-width:130px;text-align:center;color:var(--text-primary,#f8fafc);font-size:.83rem;font-weight:700}.cp-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px}.cp-calendar-weekdays span{color:var(--text-muted,#64748b);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;text-align:center}.cp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cp-calendar-cell{min-height:56px;border-radius:10px;border:1px solid rgba(255,255,255,.07);background:#ffffff05;padding:7px 5px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.cp-calendar-cell:hover{transform:translateY(-1px);border-color:#ffffff2e;background:#ffffff0d}.cp-calendar-cell.empty{background:transparent;border:1px dashed rgba(255,255,255,.04);pointer-events:none}.cp-calendar-cell.today{box-shadow:0 0 0 1.5px #f9731680 inset;border-color:#f9731659}.cp-calendar-cell.solved{border-color:#34d39959;background:#34d39914}.cp-calendar-cell.missed{border-color:#ef44444d;background:#ef444412}.cp-calendar-cell.future{border-color:#94a3b824;background:#94a3b808}.cp-calendar-day{color:var(--text-primary,#e2e8f0);font-size:.76rem;font-weight:700}.cp-calendar-mark{font-size:.95rem;line-height:1;font-weight:800}.cp-calendar-mark.solved{color:#34d399}.cp-calendar-mark.missed{color:#ef4444}.cp-calendar-mark.future{color:var(--text-muted,#64748b)}.cp-calendar-legend{margin-top:12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--text-muted,#64748b);font-size:.74rem}.cp-legend-dot{display:inline-flex;width:16px;justify-content:center;margin-right:4px;font-weight:800}.cp-legend-dot.solved{color:#34d399}.cp-legend-dot.missed{color:#ef4444}.cp-legend-dot.future{color:var(--text-muted,#64748b)}.cp-calendar-loading{color:var(--primary-teal,#14B8A6);font-weight:600}.cp-contest-banner{border-radius:16px;padding:20px 24px;margin-bottom:22px;border:1px solid rgba(20,184,166,.25);border-left:3px solid var(--primary-teal,#14B8A6);background:linear-gradient(135deg,#14b8a614,#0f172aa6);display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.cp-contest-info{flex:1;min-width:240px}.cp-contest-label{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary-teal,#14B8A6);margin-bottom:6px}.cp-contest-title{font-size:1.1rem;font-weight:700;color:var(--text-primary,#f8fafc);margin-bottom:5px;letter-spacing:-.02em}.cp-contest-date{font-size:.8rem;color:var(--text-secondary,#94a3b8)}.cp-contest-actions{display:flex;gap:10px;align-items:center}.cp-contest-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:10px;font-size:.83rem;font-weight:700;cursor:pointer;border:none;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.cp-contest-btn:hover{transform:translateY(-1px)}.cp-contest-btn.primary{background:var(--primary-teal,#14B8A6);color:#042f2e;box-shadow:0 4px 14px #14b8a64d}.cp-contest-btn.primary:hover{box-shadow:0 6px 20px #14b8a673}.cp-contest-btn.secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text-primary,#f8fafc)}.cp-filter-bar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center;padding:14px 16px;background:#0f172a80;border:1px solid rgba(255,255,255,.07);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cp-search-box{flex:1;min-width:220px;position:relative}.cp-search-box input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 14px 10px 38px;color:var(--text-primary,#e2e8f0);font-size:.86rem;font-family:DM Sans,Inter,sans-serif;outline:none;transition:border-color .22s ease,box-shadow .22s ease}.cp-search-box input:focus{border-color:#f9731666;box-shadow:0 0 0 3px #f9731614}.cp-search-box input::-moz-placeholder{color:var(--text-muted,#475569)}.cp-search-box input::placeholder{color:var(--text-muted,#475569)}.cp-search-box .search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-muted,#475569);font-size:.82rem;pointer-events:none}.cp-filter-pill{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 14px;color:var(--text-secondary,#94a3b8);font-size:.8rem;font-family:DM Sans,Inter,sans-serif;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .22s ease,color .22s ease;min-width:110px}.cp-filter-pill:hover,.cp-filter-pill:focus{border-color:#f9731659;color:var(--text-primary,#e2e8f0)}.cp-filter-pill option{background:#0f172a;color:#e2e8f0}.cp-sort-pill{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 14px;color:var(--text-secondary,#94a3b8);font-size:.8rem;font-family:DM Sans,Inter,sans-serif;cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .22s ease}.cp-sort-pill:hover{border-color:#f973164d}.cp-sort-pill option{background:#0f172a}.cp-filter-count{font-size:.76rem;color:var(--text-muted,#64748b);padding:9px 4px;font-weight:500;white-space:nowrap}.cp-problem-list{display:flex;flex-direction:column;gap:1px;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:#ffffff0a}.cp-problem-header{display:grid;grid-template-columns:44px 48px 1fr 90px 100px 120px 44px;align-items:center;gap:8px;padding:10px 20px;background:#0f172ab3;font-size:.68rem;font-weight:700;color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.05)}.cp-problem-row{display:grid;grid-template-columns:44px 48px 1fr 90px 100px 120px 44px;align-items:center;gap:8px;padding:14px 20px;background:#0a112173;transition:background .18s ease;cursor:pointer;text-decoration:none;color:inherit}.cp-problem-row:hover{background:#f973160f}.cp-problem-row:nth-child(2n){background:#0f172a40}.cp-problem-row:nth-child(2n):hover{background:#f9731612}.cp-status-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}.cp-status-dot.solved{background:#34d3991f;color:#34d399;border:1.5px solid rgba(52,211,153,.3)}.cp-status-dot.unsolved{background:transparent;border:1.5px solid rgba(255,255,255,.1)}.cp-problem-num{font-size:.8rem;color:var(--text-muted,#64748b);font-weight:600;font-variant-numeric:tabular-nums}.cp-problem-title-col{display:flex;flex-direction:column;gap:4px;min-width:0}.cp-problem-title{font-size:.9rem;font-weight:600;color:var(--text-primary,#e2e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .18s ease}.cp-problem-row:hover .cp-problem-title{color:var(--primary-orange,#F97316)}.cp-problem-tags{display:flex;gap:4px;flex-wrap:wrap}.cp-tag-chip{font-size:.63rem;padding:2px 7px;border-radius:5px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-muted,#64748b);font-weight:500;white-space:nowrap}.cp-diff-badge{font-size:.73rem;font-weight:700;padding:3px 10px;border-radius:8px;text-align:center;white-space:nowrap}.cp-diff-badge.easy{background:#34d3991a;color:#34d399;border:1px solid rgba(52,211,153,.22)}.cp-diff-badge.medium{background:#fbbf241a;color:#fbbf24;border:1px solid rgba(251,191,36,.22)}.cp-diff-badge.hard{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.22)}.cp-accept-col{display:flex;flex-direction:column;gap:3px}.cp-accept-text{font-size:.76rem;font-weight:600;color:var(--text-secondary,#94a3b8);font-variant-numeric:tabular-nums}.cp-accept-bar{width:100%;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.cp-accept-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary-teal,#14B8A6),#22c55e);transition:width .5s ease}.cp-company-chips{display:flex;gap:4px;flex-wrap:wrap}.cp-company-chip{font-size:.63rem;padding:2px 8px;border-radius:6px;background:#f9731614;color:#f97316d9;font-weight:500;border:1px solid rgba(249,115,22,.18);white-space:nowrap;cursor:pointer;transition:background .18s ease}.cp-company-chip:hover{background:#f9731629}.cp-bookmark-btn{background:none;border:none;cursor:pointer;color:var(--text-muted,#64748b);font-size:.95rem;padding:4px;transition:color .18s ease,transform .18s ease;display:flex;align-items:center;justify-content:center}.cp-bookmark-btn:hover{color:var(--accent-yellow,#FBBF24);transform:scale(1.15)}.cp-bookmark-btn.active{color:var(--accent-yellow,#FBBF24)}.cp-empty-state{text-align:center;padding:60px 20px;color:var(--text-muted,#64748b)}.cp-empty-state .empty-icon{font-size:2.8rem;margin-bottom:14px;opacity:.3}.cp-empty-state p{font-size:.92rem;margin-bottom:14px}.cp-clear-btn{background:#f9731614;border:1px solid rgba(249,115,22,.25);color:var(--primary-orange,#F97316);padding:8px 20px;border-radius:10px;font-size:.83rem;font-weight:600;cursor:pointer;transition:background .2s ease;font-family:DM Sans,Inter,sans-serif}.cp-clear-btn:hover{background:#f9731629}[data-theme=light] .cp-root{color:#0f172a}[data-theme=light] .cp-hero{border-bottom-color:#00000014}[data-theme=light] .cp-hero h1{color:#0f172a}[data-theme=light] .cp-subtitle{color:#475569!important}[data-theme=light] .cp-stat-card{background:#fff!important;border:1px solid rgba(0,0,0,.07)!important;box-shadow:0 4px 16px #0000000d!important}[data-theme=light] .cp-stat-label{color:#64748b!important}[data-theme=light] .cp-stat-value{color:#0f172a!important}[data-theme=light] .cp-stat-sub{color:#64748b!important}[data-theme=light] .cp-progress-ring .ring-bg{stroke:#00000012}[data-theme=light] .cp-ring-center .ring-num{color:#0f172a}[data-theme=light] .cp-xp-bar-track{background:#00000012}[data-theme=light] .cp-diff-row span{color:#475569!important}[data-theme=light] .cp-diff-row span:last-child{color:#0f172a!important}[data-theme=light] .cp-daily-card{background:linear-gradient(135deg,#f973160f,#fffffffa)!important;border-color:#f9731633!important;border-left-color:var(--primary-orange,#F97316)!important}[data-theme=light] .cp-daily-title{color:#0f172a!important}[data-theme=light] .cp-daily-meta{color:#475569!important}[data-theme=light] .cp-calendar-card{background:#fff!important;border-color:#00000014!important}[data-theme=light] .cp-calendar-title{color:#0f172a!important}[data-theme=light] .cp-calendar-subtitle{color:#64748b!important}[data-theme=light] .cp-calendar-day{color:#0f172a}[data-theme=light] .cp-calendar-cell{background:#f8fafc;border-color:#0000000f}[data-theme=light] .cp-calendar-cell:hover{background:#f1f5f9}[data-theme=light] .cp-calendar-cell.today{border-color:#f9731680;box-shadow:0 0 0 1.5px #f9731659 inset}[data-theme=light] .cp-calendar-cell.solved{background:#f0fdf4;border-color:#34d39973}[data-theme=light] .cp-calendar-cell.solved .cp-calendar-day{color:#14532d}[data-theme=light] .cp-calendar-cell.missed{background:#fff1f2;border-color:#ef44444d}[data-theme=light] .cp-calendar-cell.missed .cp-calendar-day{color:#991b1b}[data-theme=light] .cp-calendar-cell.empty{background:transparent;border-color:#0000000d}[data-theme=light] .cp-calendar-weekdays span,[data-theme=light] .cp-calendar-legend{color:#64748b}[data-theme=light] .cp-contest-banner{background:linear-gradient(135deg,#14b8a60f,#fffffffa)!important;border-color:#14b8a633!important}[data-theme=light] .cp-contest-title{color:#0f172a}[data-theme=light] .cp-contest-date{color:#475569}[data-theme=light] .cp-contest-btn.secondary{background:#fff;border-color:#0000001a;color:#0f172a}[data-theme=light] .cp-filter-bar{background:#fff!important;border-color:#00000014!important}[data-theme=light] .cp-search-box input,[data-theme=light] .cp-filter-pill,[data-theme=light] .cp-sort-pill{background:#f8fafc!important;border-color:#0000001a!important;color:#0f172a!important}[data-theme=light] .cp-search-box input::-moz-placeholder{color:#94a3b8}[data-theme=light] .cp-search-box input::placeholder{color:#94a3b8}[data-theme=light] .cp-filter-pill option,[data-theme=light] .cp-sort-pill option{background:#fff;color:#0f172a}[data-theme=light] .cp-filter-count{color:#64748b}[data-theme=light] .cp-problem-list{background:#00000008;border-color:#00000012}[data-theme=light] .cp-problem-header{background:#f8fafc;color:#64748b;border-bottom-color:#0000000f}[data-theme=light] .cp-problem-row{background:#fff;color:#0f172a}[data-theme=light] .cp-problem-row:nth-child(2n){background:#fafafa}[data-theme=light] .cp-problem-row:hover,[data-theme=light] .cp-problem-row:nth-child(2n):hover{background:#f973160a}[data-theme=light] .cp-problem-title{color:#0f172a!important}[data-theme=light] .cp-problem-row:hover .cp-problem-title{color:var(--primary-orange,#F97316)!important}[data-theme=light] .cp-problem-num{color:#94a3b8}[data-theme=light] .cp-tag-chip{background:#f1f5f9!important;border-color:#0000000f!important;color:#64748b!important}[data-theme=light] .cp-accept-bar{background:#0000000f}[data-theme=light] .cp-company-chip{background:#f973160f;color:#c2410c;border-color:#f9731626}[data-theme=light] .cp-status-dot.unsolved{border-color:#0000001f}[data-theme=light] .cp-bookmark-btn,[data-theme=light] .cp-empty-state{color:#94a3b8}[data-theme=light] .cp-clear-btn{background:#f9731612;color:#c2410c;border-color:#f9731633}[data-theme=light] .cp-clear-btn:hover{background:#f9731624}[data-theme=light] .cp-profile-link{border-color:#0000001a;color:#0f172a;background:#fff}[data-theme=light] .cp-profile-link:hover{border-color:#f973164d;background:#f973160a}@media(max-width:960px){.cp-root{padding-inline:16px}.cp-filter-bar{display:grid;grid-template-columns:1fr;gap:8px;align-items:stretch}.cp-search-box,.cp-filter-pill,.cp-sort-pill{width:100%;min-width:0}.cp-filter-count{padding:2px 2px 0;font-size:.72rem}.cp-problem-header{display:none}.cp-problem-row{grid-template-columns:28px minmax(0,1fr) 28px;gap:8px;padding:12px;border-bottom:1px solid rgba(255,255,255,.05)}.cp-problem-num,.cp-accept-col,.cp-company-chips{display:none}.cp-problem-title-col{min-width:0;gap:6px}.cp-problem-title{white-space:normal;line-height:1.35}.cp-problem-tags{overflow-x:auto;white-space:nowrap;flex-wrap:nowrap;padding-bottom:2px}.cp-diff-badge{justify-self:start;margin-top:2px}.cp-bookmark-btn{align-self:flex-start}.cp-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.cp-root{padding:24px 14px 48px}.cp-hero{align-items:flex-start;gap:14px}.cp-profile-link{width:100%;justify-content:center}.cp-stats-grid{grid-template-columns:1fr}.cp-stat-card{min-height:auto}.cp-daily-card,.cp-calendar-card,.cp-contest-banner{padding:16px 14px;border-radius:14px}.cp-filter-bar{padding:10px 12px}.cp-calendar-cell{min-height:48px;padding:6px 4px}.cp-calendar-day{font-size:.7rem}.cp-calendar-mark{font-size:.85rem}.cp-contest-actions{width:100%}.cp-contest-btn{flex:1 1 0;justify-content:center}}@media(prefers-reduced-motion:reduce){.cp-stat-card,.cp-profile-link,.cp-contest-btn,.cp-solve-btn,.cp-search-box input,.cp-filter-pill,.cp-sort-pill,.cp-problem-row,.cp-bookmark-btn{transition:none}.cp-streak-fire,.cp-daily-card,.cp-xp-bar-fill{animation:none}}:root{--ws-bg: #0d1117;--ws-panel: #161b22;--ws-surface: #0d1117;--ws-card: rgba(255, 255, 255, .04);--ws-card-hover: rgba(255, 255, 255, .07);--ws-code-bg: rgba(255, 255, 255, .05);--ws-input-bg: rgba(255, 255, 255, .05);--ws-tag-bg: rgba(255, 255, 255, .08);--ws-dropdown-bg: #161b22;--ws-floating-bg: rgba(17, 24, 39, .95);--ws-text: #e6edf3;--ws-text-secondary: #c9d1d9;--ws-text-muted: #7d8590;--ws-text-disabled: #484f58;--ws-accent: #F97316;--ws-accent-light: #fdba74;--ws-teal: #14B8A6;--ws-label-input: #f97316;--ws-code-input: #fdba74;--ws-label-output: #14b8a6;--ws-code-output: #5eead4;--ws-border: rgba(255, 255, 255, .09);--ws-border-faint: rgba(255, 255, 255, .05);--ide-bg: var(--ws-bg);--ide-header-bg: var(--ws-panel);--ide-panel-bg: var(--ws-bg);--ide-console-bg: var(--ws-bg);--ide-border: var(--ws-border);--ide-text: var(--ws-text);--ide-muted: var(--ws-text-muted);--ide-accent: var(--ws-accent);--ide-teal: var(--ws-teal);--ide-success: #34d399;--ide-error: #f87171}[data-theme=light],[data-theme=light] .workspace-container{--ws-bg: #f8fafc;--ws-panel: #ffffff;--ws-surface: #ffffff;--ws-card: #f1f5f9;--ws-card-hover: #e2e8f0;--ws-code-bg: #f1f5f9;--ws-input-bg: #f8fafc;--ws-tag-bg: rgba(0, 0, 0, .06);--ws-dropdown-bg: #ffffff;--ws-floating-bg: rgba(255, 255, 255, .95);--ws-text: #0f172a;--ws-text-secondary: #334155;--ws-text-muted: #64748b;--ws-text-disabled: #94a3b8;--ws-accent: #ea580c;--ws-accent-light: #c2410c;--ws-teal: #0d9488;--ws-label-input: #c2410c;--ws-code-input: #9a3412;--ws-label-output: #0f766e;--ws-code-output: #0f766e;--ws-border: rgba(0, 0, 0, .1);--ws-border-faint: rgba(0, 0, 0, .05);--ide-bg: var(--ws-bg);--ide-header-bg: var(--ws-panel);--ide-panel-bg: var(--ws-surface);--ide-console-bg: var(--ws-panel);--ide-border: var(--ws-border);--ide-text: var(--ws-text);--ide-muted: var(--ws-text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ws-glow-pulse{0%,to{box-shadow:0 0 12px #f973161a}50%{box-shadow:0 0 22px #f9731638}}.workspace-container{display:flex;flex-direction:column;height:100vh;background-color:var(--ide-bg);color:var(--ide-text);overflow:hidden;font-family:DM Sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif}.workspace-header{height:50px;background-color:var(--ide-header-bg);border-bottom:1px solid var(--ide-border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workspace-title{font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,var(--primary-orange,#F97316),var(--primary-teal,#14B8A6));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:12px}.difficulty-badge{font-size:.72rem;padding:2px 9px;border-radius:6px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.difficulty-easy{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.22)}.difficulty-medium{background:#fbbf241f;color:#fbbf24;border:1px solid rgba(251,191,36,.22)}.difficulty-hard{background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.22)}.workspace-controls{display:flex;gap:10px;align-items:center}.control-btn{background:#ffffff0a;border:1px solid var(--ide-border);color:var(--ide-text);padding:6px 12px;border-radius:7px;font-size:.82rem;cursor:pointer;transition:all .18s ease;display:flex;align-items:center;gap:6px;font-family:inherit}.control-btn:hover{background:#ffffff14;border-color:#ffffff2e;color:#fff}.btn-run{background:#14b8a614;border-color:#14b8a64d;color:var(--primary-teal, #14B8A6);font-weight:600}.btn-run:hover{background:#14b8a629;border-color:#14b8a680;color:#5eead4;box-shadow:0 0 12px #14b8a633}.btn-submit{background:linear-gradient(135deg,var(--primary-orange,#F97316),#ea6b0a);color:#fff;border:none;font-weight:700;font-size:.82rem;box-shadow:0 3px 12px #f9731647}.btn-submit:hover{filter:brightness(1.1);box-shadow:0 5px 18px #f973166b}.editor-header-controls-right{display:flex;align-items:center;gap:12px}.run-submit-group{display:flex;align-items:center;gap:10px;margin-right:14px;padding-right:14px;border-right:1px solid var(--ide-border)}.secondary-actions{display:flex;align-items:center;gap:8px}.workspace-body{display:flex;flex:1;overflow:hidden}.panel-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-left{width:100%;height:100%;display:flex;flex-direction:column;background:var(--ide-panel-bg)}.panel-right{width:100%;height:100%;display:flex;flex-direction:column}.resize-handle-horizontal{width:4px;background:var(--ide-bg);cursor:col-resize;transition:background .2s;position:relative;border-left:1px solid var(--ide-border);border-right:1px solid var(--ide-border)}.resize-handle-horizontal:hover,.resize-handle-horizontal:active{background:#f9731666}.resize-handle-vertical{height:4px;background:var(--ide-bg);cursor:row-resize;transition:background .2s;position:relative;border-top:1px solid var(--ide-border);border-bottom:1px solid var(--ide-border)}.resize-handle-vertical:hover,.resize-handle-vertical:active{background:#f9731659}.tabs-header{display:flex;background:var(--ide-header-bg);border-bottom:1px solid var(--ide-border);padding:0 8px;flex-shrink:0}.tabs-container{display:flex;flex-direction:row;align-items:center;gap:0;white-space:nowrap}.tab-btn-modern{padding:0 20px;height:42px;font-size:.86rem;font-weight:500;color:var(--ide-muted, #7d8590);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;position:relative;transition:color .18s ease,border-color .18s ease;display:flex;align-items:center;justify-content:center;gap:7px;font-family:inherit}.tab-btn-modern:hover{color:#e6edf3;background:#ffffff0a}.tab-btn-modern.active{color:var(--primary-orange, #F97316);background:#f973160f;border-bottom-color:var(--primary-orange, #F97316);font-weight:700}.panel-content{flex:1;overflow-y:auto;padding:20px}.section-heading-orange{color:var(--primary-orange, #F97316);font-size:1rem;font-weight:700;margin-top:1.5rem;margin-bottom:.6rem;border-bottom:1px solid rgba(249,115,22,.2);padding-bottom:.4rem}.editor-container{width:100%;height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.console-container{width:100%;height:100%;border-top:none;display:flex;flex-direction:column;background:var(--ide-console-bg)}.console-header{background:var(--ide-header-bg);border-bottom:1px solid var(--ide-border);display:flex;align-items:center;padding:0 8px}.console-tab{padding:8px 14px;font-size:.8rem;color:var(--ide-muted, #7d8590);cursor:pointer;background:transparent;border:none;border-bottom:2px solid transparent;display:flex;align-items:center;gap:6px;transition:color .18s ease;font-family:inherit}.console-tab:hover{color:#e6edf3}.console-tab.active{color:var(--primary-teal, #14B8A6);border-bottom-color:var(--primary-teal, #14B8A6);font-weight:600}.console-body{flex:1;overflow-y:auto;padding:16px 16px 60px;font-family:IBM Plex Mono,Fira Code,monospace;font-size:.88rem}.result-badge{width:9px;height:9px;border-radius:50%}.result-pass{background-color:var(--ide-success, #34d399)}.result-fail{background-color:var(--ide-error, #f87171)}.code-block{background:#161b22e6;padding:12px 14px;border-radius:8px;border:1px solid var(--ide-border);color:#e6edf3;font-family:IBM Plex Mono,Fira Code,monospace;font-size:.85rem;white-space:pre-wrap;line-height:1.6}.timer-container{display:flex;align-items:center;gap:7px;background:#f9731614;padding:4px 10px;border-radius:7px;border:1px solid rgba(249,115,22,.25)}.timer-display{font-family:IBM Plex Mono,Fira Code,monospace;color:var(--primary-orange, #F97316);font-weight:600;font-size:.85rem}.timer-controls{display:flex;gap:4px}.timer-controls button{background:transparent;border:none;color:var(--ide-muted, #7d8590);cursor:pointer;display:flex;align-items:center;padding:2px;transition:color .15s}.timer-controls button:hover{color:var(--primary-orange, #F97316)}.custom-scrollbar::-webkit-scrollbar{width:5px;height:5px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#f9731673}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .28s ease-out forwards}.workspace-container>div:first-child,[style*="background: '#111827'"],[style*='background: "#111827"']{background-color:var(--ide-bg)!important}[style*="background: '#1f2937'"],[style*='background: "#1f2937"']{background-color:var(--ide-header-bg)!important}[style*="rgba(59, 130, 246, 0.1)"]{background:#f9731614!important;border-color:#f9731640!important}[style*="linear-gradient(135deg, #6366f1, #ec4899)"]{background-image:linear-gradient(135deg,var(--primary-orange,#F97316),var(--primary-teal,#14B8A6))!important}[style*="linear-gradient(135deg, #10b981"]{background:linear-gradient(135deg,var(--primary-orange,#F97316),#ea6b0a)!important}[style*="borderBottom: '2px solid #4ade80'"],[style*='borderBottom: "2px solid #4ade80"']{border-bottom-color:var(--primary-orange, #F97316)!important;color:var(--primary-orange, #F97316)!important}[data-theme=light] .workspace-container{background:#f1f5f9;color:#0f172a;--ide-bg: #f1f5f9;--ide-header-bg: #ffffff;--ide-panel-bg: #f8fafc;--ide-console-bg: #ffffff;--ide-border: rgba(0,0,0,.09);--ide-text: #0f172a;--ide-muted: #64748b;--ide-surface: rgba(255,255,255,.95)}[data-theme=light] .workspace-header{background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .tabs-header{background:#f8fafc;border-bottom:1px solid rgba(0,0,0,.08)}[data-theme=light] .tab-btn-modern{color:#64748b}[data-theme=light] .tab-btn-modern:hover{color:#0f172a;background:#00000008}[data-theme=light] .tab-btn-modern.active{color:var(--primary-orange,#F97316);background:#f973160d;border-bottom-color:var(--primary-orange,#F97316)}[data-theme=light] .control-btn{background:#fff;border-color:#0000001a;color:#334155}[data-theme=light] .control-btn:hover{background:#f1f5f9;color:#0f172a;border-color:#0000002e}[data-theme=light] .btn-run{background:#14b8a612;border-color:#14b8a64d;color:#0e7a6d}[data-theme=light] .btn-run:hover{background:#14b8a626}[data-theme=light] .btn-submit{background:linear-gradient(135deg,var(--primary-orange,#F97316),#ea6b0a);color:#fff}[data-theme=light] .resize-handle-horizontal,[data-theme=light] .resize-handle-vertical{background:#e2e8f0}[data-theme=light] .resize-handle-horizontal:hover,[data-theme=light] .resize-handle-vertical:hover{background:#f9731659}[data-theme=light] .console-header{background:#f8fafc;border-bottom:1px solid rgba(0,0,0,.07)}[data-theme=light] .console-tab{color:#64748b}[data-theme=light] .console-tab.active{color:var(--primary-teal,#14B8A6);border-bottom-color:var(--primary-teal,#14B8A6)}[data-theme=light] .console-body{color:#1e293b}[data-theme=light] .code-block{background:#f8fafc;border-color:#00000014;color:#1e293b}[data-theme=light] .timer-container{background:#f9731612;border-color:#f9731633}[data-theme=light] .timer-display{color:#c2410c}[data-theme=light] .timer-controls button{color:#94a3b8}[data-theme=light] .timer-controls button:hover{color:#c2410c}[data-theme=light] .custom-scrollbar::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] .custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#f9731666}[data-theme=light] .difficulty-easy{background:#34d3991a;border-color:#34d39940}[data-theme=light] .difficulty-medium{background:#fbbf241a;border-color:#fbbf2440}[data-theme=light] .difficulty-hard{background:#f871711a;border-color:#f8717140}[data-theme=light] .section-heading-orange{color:#c2410c;border-bottom-color:#c2410c33}[data-theme=light] .panel-content{color:#1e293b}[data-theme=light] .workspace-sidebar{background:#fff;border-right:1px solid rgba(0,0,0,.08)}[data-theme=light] .sidebar-btn{color:#64748b}[data-theme=light] .sidebar-btn:hover{color:#0f172a;background:#0000000a}[data-theme=light] .sidebar-btn.active{color:var(--primary-orange,#F97316)}[data-theme=light] .theme-selector{background:#fff;border:1px solid rgba(0,0,0,.1);color:#0f172a}.workspace-container [style*="background: '#111827'"],.workspace-container [style*='background: "#111827"'],.workspace-container [style*="background:'#111827'"]{background-color:var(--ide-bg, #0d1117)!important}.workspace-container [style*="background: '#1f2937'"],.workspace-container [style*='background: "#1f2937"'],.workspace-container [style*="background:'#1f2937'"]{background-color:var(--ide-header-bg, #161b22)!important}.workspace-container [style*="background: '#0d1117'"],.workspace-container [style*='background: "#0d1117"']{background-color:var(--ide-bg, #0d1117)!important}.workspace-container button[style*="2px solid #3b82f6"]{border-bottom-color:var(--primary-orange, #F97316)!important;color:#fff!important}.workspace-container [style*="rgba(59,130,246,0.15)"],.workspace-container [style*="rgba(59, 130, 246, 0.15)"]{background:#f973161f!important;color:var(--primary-orange, #F97316)!important;border-color:#f9731647!important}.workspace-container [style*="rgba(59, 130, 246, 0.1)"],.workspace-container [style*="rgba(59,130,246,0.1)"]{background:#f9731614!important;border-color:#f9731647!important}.workspace-container [style*="rgba(59, 130, 246, 0.1)"],.workspace-container [style*="rgba(59,130,246,0.1)"]{background:#f9731617!important}.workspace-container button[style*="linear-gradient(135deg, #6366f1, #ec4899)"]{background-image:linear-gradient(135deg,var(--primary-orange,#F97316),var(--primary-teal,#14B8A6))!important}.workspace-container button[style*="linear-gradient(135deg, #10b981"]{background:linear-gradient(135deg,var(--primary-orange,#F97316),#ea6b0a)!important;box-shadow:0 3px 14px #f973164d!important}.workspace-container button[style*="linear-gradient(135deg, #10b981"]:hover{box-shadow:0 5px 20px #f9731673!important}.workspace-container>div>div[style*="zIndex: 200"]{background:var(--ide-header-bg, #161b22)!important;border-color:var(--ide-border)!important;border-radius:0 0 12px 12px;box-shadow:0 8px 32px #00000073!important}.workspace-container [style*="background: '#1f2937', color: 'white'"],.workspace-container [style*='background: "#1f2937", color: "white"']{background:var(--ide-header-bg, #161b22)!important}.workspace-container [style*="background: '#0d1117'"]{background:var(--ide-bg, #0d1117)!important;border-color:var(--ide-border)!important}[data-theme=light] .workspace-container [style*="background: '#111827'"],[data-theme=light] .workspace-container [style*='background: "#111827"']{background-color:#f8fafc!important}[data-theme=light] .workspace-container [style*="background: '#1f2937'"],[data-theme=light] .workspace-container [style*='background: "#1f2937"']{background-color:#fff!important}[data-theme=light] .workspace-container [style*="background: '#0d1117'"],[data-theme=light] .workspace-container [style*='background: "#0d1117"']{background-color:#f1f5f9!important}[data-theme=light] .workspace-container [style*="color: 'white'"],[data-theme=light] .workspace-container [style*='color: "white"']{color:#0f172a!important}[data-theme=light] .workspace-container [style*="color: '#d1d5db'"],[data-theme=light] .workspace-container [style*='color: "#d1d5db"']{color:#334155!important}[data-theme=light] .workspace-container [style*="color: '#9ca3af'"],[data-theme=light] .workspace-container [style*='color: "#9ca3af"']{color:#64748b!important}[data-theme=light] .workspace-container [style*="color: '#e2e8f0'"],[data-theme=light] .workspace-container [style*='color: "#e2e8f0"']{color:#1e293b!important}[data-theme=light] .workspace-container input[style*="color: 'white'"],[data-theme=light] .workspace-container input[style*='color: "white"']{color:#0f172a!important}[data-theme=light] .workspace-container [style*="1px solid rgba(255,255,255,0.1)"]{border-color:#00000017!important}[data-theme=light] .workspace-container h1[style*="color: 'white'"],[data-theme=light] .workspace-container h1[style*='color: "white"']{color:#0f172a!important}[data-theme=light] .bg-gray-900{background-color:#fff!important;color:#0f172a!important}[data-theme=light] .bg-gray-800,[data-theme=light] .bg-gray-800\/50,[data-theme=light] [class*=bg-gray-800]{background-color:#f8fafc!important;border-color:#00000014!important}[data-theme=light] .border-gray-800,[data-theme=light] .border-gray-700{border-color:#00000014!important}[data-theme=light] .text-gray-200,[data-theme=light] .text-gray-300{color:#1e293b!important}[data-theme=light] .text-gray-400{color:#64748b!important}[data-theme=light] .bg-gray-700{background-color:#e2e8f0!important}[data-theme=light] [style*="background: '#0f172a'"],[data-theme=light] [style*='background: "#0f172a"']{background:#fff!important;color:#0f172a!important;border-color:#0000001a!important}[data-theme=light] [style*="background: 'rgba(17,24,39,0.65)'"],[data-theme=light] [style*='background: "rgba(17,24,39,0.65)"']{background:#f8fafc!important;border-color:#00000014!important}:root{--sa-bg: #090d16;--sa-header-bg: rgba(15, 23, 42, .85);--sa-card-bg: rgba(17, 24, 39, .7);--sa-card-hover: rgba(30, 41, 59, .85);--sa-card-raised: #1e293b;--sa-border: rgba(255, 255, 255, .08);--sa-border-subtle: rgba(255, 255, 255, .04);--sa-text: #f8fafc;--sa-text-secondary: #cbd5e1;--sa-text-muted: #94a3b8;--sa-input-bg: rgba(15, 23, 42, .7);--sa-input-border: rgba(255, 255, 255, .12);--sa-shadow: 0 4px 20px -2px rgba(0, 0, 0, .35);--sa-shadow-hover: 0 10px 25px -3px rgba(0, 0, 0, .45);--sa-accent: #a855f7;--sa-accent-teal: #14b8a6;--sa-accent-blue: #3b82f6;--sa-pill-inactive: rgba(255, 255, 255, .06);--sa-pill-text: #94a3b8;--sa-table-header-bg: rgba(255, 255, 255, .03);--sa-table-row-hover: rgba(255, 255, 255, .02)}[data-theme=light]{--sa-bg: #f8fafc;--sa-header-bg: rgba(255, 255, 255, .95);--sa-card-bg: #ffffff;--sa-card-hover: #f1f5f9;--sa-card-raised: #ffffff;--sa-border: rgba(0, 0, 0, .08);--sa-border-subtle: rgba(0, 0, 0, .04);--sa-text: #0f172a;--sa-text-secondary: #334155;--sa-text-muted: #64748b;--sa-input-bg: #ffffff;--sa-input-border: #cbd5e1;--sa-shadow: 0 4px 20px -2px rgba(0, 0, 0, .06), 0 2px 6px -1px rgba(0, 0, 0, .04);--sa-shadow-hover: 0 12px 28px -4px rgba(0, 0, 0, .1);--sa-accent: #9333ea;--sa-accent-teal: #0d9488;--sa-accent-blue: #2563eb;--sa-pill-inactive: #f1f5f9;--sa-pill-text: #64748b;--sa-table-header-bg: #f8fafc;--sa-table-row-hover: #f8fafc}.sa-container{padding:clamp(1.2rem,3vw,2.5rem);min-height:calc(100vh - var(--nav-height, 60px));background-color:var(--sa-bg);color:var(--sa-text);background-image:radial-gradient(circle at 8% 12%,rgba(168,85,247,.07),transparent 35%),radial-gradient(circle at 92% 88%,rgba(20,184,166,.06),transparent 35%);transition:background-color .25s ease,color .25s ease}.sa-header{margin-bottom:2rem;text-align:center}.sa-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;margin-bottom:.5rem;letter-spacing:-.03em;background:linear-gradient(135deg,#a855f7,#ec4899,#3b82f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}[data-theme=light] .sa-title{background:linear-gradient(135deg,#7c3aed,#db2777,#2563eb);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sa-subtitle{color:var(--sa-text-muted);font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:500;max-width:600px;margin:0 auto}.sa-nav-wrapper{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:2.5rem;overflow-x:auto;padding:6px;border-radius:999px;background:var(--sa-pill-inactive);border:1px solid var(--sa-border);max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto}.sa-nav-pill{position:relative;padding:9px 20px;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;text-decoration:none!important;color:var(--sa-pill-text);transition:color .2s ease,transform .15s ease;cursor:pointer;border:none;background:transparent;display:inline-flex;align-items:center;gap:7px}.sa-nav-pill:hover{color:var(--sa-text);transform:translateY(-1px)}.sa-nav-pill.active{color:#fff!important;font-weight:700}.sa-card{background:var(--sa-card-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--sa-border);border-radius:18px;padding:1.6rem;box-shadow:var(--sa-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;color:var(--sa-text);margin-bottom:1.5rem}.sa-card:hover{box-shadow:var(--sa-shadow-hover);border-color:#a855f740}.sa-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.8rem;border-bottom:1px solid var(--sa-border)}.sa-card-title{font-size:1.25rem;font-weight:700;color:var(--sa-text);display:flex;align-items:center;gap:.65rem;margin:0}.sa-form-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;margin-bottom:1.2rem}.sa-input{background:var(--sa-input-bg);border:1px solid var(--sa-input-border);color:var(--sa-text);padding:.75rem 1rem;border-radius:10px;font-size:.92rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.sa-input:focus{outline:none;border-color:var(--sa-accent);box-shadow:0 0 0 3px #a855f72e}.sa-input::-moz-placeholder{color:var(--sa-text-muted)}.sa-input::placeholder{color:var(--sa-text-muted)}.sa-btn{padding:.7rem 1.4rem;border-radius:10px;font-size:.88rem;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;gap:.55rem;justify-content:center;cursor:pointer;border:none;text-decoration:none!important}.sa-btn-primary{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff!important;box-shadow:0 4px 14px #a855f759}.sa-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #a855f773;background:linear-gradient(135deg,#9333ea,#6d28d9)}.sa-btn-secondary{background:var(--sa-pill-inactive);color:var(--sa-text)!important;border:1px solid var(--sa-border)}.sa-btn-secondary:hover{background:var(--sa-card-hover)}.sa-btn-danger{background:#ef44441f;color:#ef4444!important;border:1px solid rgba(239,68,68,.25)}.sa-btn-danger:hover{background:#ef444438;border-color:#ef444466}.sa-btn-success{background:#22c55e1f;color:#22c55e!important;border:1px solid rgba(34,197,94,.25)}.sa-btn-success:hover{background:#22c55e38}.sa-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--sa-border);background:var(--sa-card-bg)}.sa-table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}.sa-table th{padding:.9rem 1.1rem;background:var(--sa-table-header-bg);color:var(--sa-text-muted);font-weight:700;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;border-bottom:1px solid var(--sa-border)}.sa-table td{padding:1rem 1.1rem;border-bottom:1px solid var(--sa-border);color:var(--sa-text);vertical-align:middle}.sa-table tr:last-child td{border-bottom:none}.sa-badge{display:inline-flex;align-items:center;gap:5px;padding:.28rem .75rem;border-radius:999px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sa-badge-purple{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}[data-theme=light] .sa-badge-purple{background:#f3e8ff;color:#7e22ce;border-color:#d8b4fe}.sa-badge-blue{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}[data-theme=light] .sa-badge-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.sa-badge-green{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.3)}[data-theme=light] .sa-badge-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.sa-badge-red{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}[data-theme=light] .sa-badge-red{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.sa-filter-bar{display:flex;gap:.8rem;margin-bottom:1.5rem;background:var(--sa-card-bg);padding:.85rem 1rem;border-radius:14px;align-items:center;border:1px solid var(--sa-border);box-shadow:var(--sa-shadow)}.sa-filter-icon{color:var(--sa-text-muted);font-size:1rem}@media(max-width:900px){.sa-nav-wrapper{max-width:100%;justify-content:flex-start;border-radius:14px}}@media(max-width:640px){.sa-card-header{flex-direction:column;align-items:flex-start;gap:.6rem}.sa-btn{width:100%}.sa-filter-bar{flex-direction:column;align-items:stretch}}.sa-profile-loading{min-height:calc(100vh - var(--nav-height, 60px));display:flex;align-items:center;justify-content:center;color:var(--sa-text-muted, #94a3b8);font-size:1rem}.sa-profile-page{min-height:calc(100vh - var(--nav-height, 60px));padding:0;color:var(--sa-text)}.sa-profile-header{background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:18px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem;box-shadow:var(--sa-shadow);margin-bottom:1.8rem}.sa-profile-main{display:flex;gap:1.2rem;align-items:center}.sa-profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#6366f1);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;color:#fff;overflow:hidden;border:3px solid rgba(168,85,247,.4);box-shadow:0 4px 14px #a855f74d}.sa-profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sa-profile-main h1{font-size:1.6rem;font-weight:750;color:var(--sa-text);margin:0 0 .2rem}.sa-profile-main p{color:var(--sa-text-muted);font-size:.88rem;margin:0}.sa-role-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.sa-role-badge{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.35);border-radius:999px;padding:.25rem .75rem;font-size:.76rem;font-weight:700}[data-theme=light] .sa-role-badge{background:#f3e8ff;color:#7e22ce;border-color:#d8b4fe}.sa-permission-pill{background:var(--sa-pill-inactive);border:1px solid var(--sa-border);border-radius:999px;padding:.25rem .7rem;font-size:.76rem;color:var(--sa-text-muted)}.sa-header-health{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:.75rem}.sa-header-health div{background:var(--sa-pill-inactive);border-radius:12px;border:1px solid var(--sa-border);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.2rem}.sa-header-health span{font-size:.74rem;color:var(--sa-text-muted);font-weight:600;text-transform:uppercase}.sa-header-health strong{font-size:1.1rem;font-weight:700;color:var(--sa-text)}.sa-tabs-wrap{margin:1.5rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem}.sa-tab-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--sa-border);border-radius:12px;background:var(--sa-card-bg);color:var(--sa-text-muted);padding:.75rem .6rem;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease}.sa-tab-btn:hover{color:var(--sa-text);background:var(--sa-card-hover);transform:translateY(-1px)}.sa-tab-btn.active{background:linear-gradient(135deg,#a855f7,#6366f1);border-color:#a855f7cc;color:#fff!important;box-shadow:0 4px 14px #a855f759}.sa-tab-section{margin-top:1.2rem}.sa-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.sa-stat-card{background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:16px;padding:1.2rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--sa-shadow);transition:transform .2s ease,box-shadow .2s ease}.sa-stat-card:hover{transform:translateY(-2px);box-shadow:var(--sa-shadow-hover)}.sa-stat-card span{color:var(--sa-text-muted);font-size:.82rem;font-weight:600}.sa-stat-card strong{font-size:1.55rem;font-weight:800;color:var(--sa-text)}.sa-overview-panels,.sa-security-grid,.sa-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem;margin-top:1.2rem}.sa-panel,.sa-chart-card{background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:16px;padding:1.3rem;box-shadow:var(--sa-shadow)}.sa-panel h3,.sa-panel h4,.sa-chart-card h4{font-size:1.1rem;font-weight:700;color:var(--sa-text);margin:0 0 1rem}.sa-activity-list,.sa-login-history{display:flex;flex-direction:column;gap:.65rem;max-height:300px;overflow-y:auto}.sa-activity-item,.sa-login-entry{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:12px;background:var(--sa-pill-inactive);border:1px solid var(--sa-border-subtle)}.sa-activity-item strong,.sa-login-entry strong{font-size:.9rem;color:var(--sa-text)}.sa-activity-item p,.sa-login-entry p,.sa-activity-item span,.sa-login-entry span{font-size:.78rem;color:var(--sa-text-muted);margin:0}.sa-alert-list{display:flex;flex-direction:column;gap:.75rem}.sa-alert{display:flex;gap:.75rem;border-radius:12px;padding:.85rem 1rem;border:1px solid var(--sa-border);background:var(--sa-pill-inactive)}.sa-alert.critical{border-color:#ef444466;background:#ef44441a;color:#ef4444}.sa-alert.info{border-color:#22c55e73;background:#14532d40}.sa-tab-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem}.sa-primary-btn,.sa-danger-btn,.sa-row-actions button,.sa-pagination button{border:none;border-radius:10px;padding:.5rem .75rem;font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.sa-tab-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.sa-primary-btn,.sa-danger-btn,.sa-row-actions button,.sa-pagination button{border:none;border-radius:10px;padding:.55rem .9rem;font-weight:600;font-size:.86rem;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;transition:all .2s ease}.sa-primary-btn{background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff!important;box-shadow:0 4px 12px #a855f759}.sa-primary-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #a855f773}.sa-danger-btn,.sa-row-actions .danger{background:#ef444424;color:#ef4444!important;border:1px solid rgba(239,68,68,.25)}.sa-danger-btn:hover,.sa-row-actions .danger:hover{background:#ef44443d}.sa-table-wrap{border:1px solid var(--sa-border);border-radius:14px;overflow:auto;background:var(--sa-card-bg);box-shadow:var(--sa-shadow)}.sa-table{width:100%;border-collapse:collapse;min-width:850px;text-align:left}.sa-table th,.sa-table td{padding:.85rem 1rem;border-bottom:1px solid var(--sa-border);font-size:.85rem;color:var(--sa-text)}.sa-table th{color:var(--sa-text-muted);font-weight:700;background:var(--sa-table-header-bg);position:sticky;top:0;z-index:1;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.sa-table tr:hover td{background:var(--sa-table-row-hover)}.sa-admin-cell{display:flex;flex-direction:column;gap:.2rem}.sa-admin-cell span{color:var(--sa-text-muted);font-size:.76rem}.sa-status-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:.22rem .65rem;font-weight:700;font-size:.74rem;text-transform:uppercase}.sa-status-pill.active{color:#16a34a;background:#22c55e26;border:1px solid rgba(34,197,94,.3)}[data-theme=light] .sa-status-pill.active{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.sa-status-pill.inactive{color:#dc2626;background:#ef444426;border:1px solid rgba(239,68,68,.3)}[data-theme=light] .sa-status-pill.inactive{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.sa-row-actions{display:flex;gap:.5rem}.sa-row-actions button{background:var(--sa-pill-inactive);color:var(--sa-text);border:1px solid var(--sa-border)}.sa-empty-row,.sa-empty-text{color:var(--sa-text-muted);text-align:center;padding:1.5rem}.sa-audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr)) auto;gap:.75rem;margin-bottom:1.2rem;background:var(--sa-card-bg);padding:1rem;border-radius:14px;border:1px solid var(--sa-border);box-shadow:var(--sa-shadow)}.sa-audit-filters select,.sa-audit-filters input,.sa-panel input,.sa-panel textarea,.sa-modal input{background:var(--sa-input-bg);border:1px solid var(--sa-input-border);border-radius:10px;padding:.6rem .85rem;color:var(--sa-text);width:100%;font-size:.88rem;box-sizing:border-box;outline:none;transition:border-color .2s ease}.sa-audit-filters select:focus,.sa-audit-filters input:focus,.sa-panel input:focus,.sa-panel textarea:focus,.sa-modal input:focus{border-color:var(--sa-accent)}.sa-panel textarea{min-height:100px;margin-bottom:.8rem;resize:vertical}.sa-pagination{margin-top:1rem;display:flex;align-items:center;justify-content:flex-end;gap:.8rem}.sa-pagination span{color:var(--sa-text-muted);font-size:.85rem;font-weight:500}.sa-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem}.sa-acceptance-rate{margin-top:.75rem;font-size:.88rem;color:var(--sa-accent);font-weight:600}.sa-security-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--sa-border)}.sa-security-row span{color:var(--sa-text-muted);font-size:.88rem}.sa-security-row strong{color:var(--sa-text)}.sa-security-actions{display:flex;gap:.65rem;margin-top:1rem}.sa-compiler-row{display:grid;grid-template-columns:120px 1fr;gap:.75rem;align-items:center;margin-bottom:.75rem}.sa-modal-backdrop{position:fixed;inset:0;z-index:1400;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.2rem}.sa-modal{width:min(480px,100%);background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:18px;padding:1.5rem;box-shadow:0 25px 50px -12px #00000080;color:var(--sa-text)}.sa-modal h3{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:var(--sa-text)}.sa-modal form{display:flex;flex-direction:column;gap:.75rem}.sa-modal-actions{margin-top:.75rem;display:flex;justify-content:flex-end;gap:.65rem}.sa-modal-actions button{border:none;border-radius:10px;padding:.55rem 1rem;font-weight:600;cursor:pointer;font-size:.88rem}.sa-modal-actions button:first-child{background:var(--sa-pill-inactive);color:var(--sa-text-muted)}@media(max-width:1200px){.sa-tabs-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}.sa-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-chart-grid{grid-template-columns:1fr}}@media(max-width:860px){.sa-profile-header{flex-direction:column}.sa-header-health{min-width:auto;width:100%}.sa-overview-panels,.sa-security-grid,.sa-settings-grid,.sa-audit-filters{grid-template-columns:1fr}}@media(max-width:640px){.sa-profile-page{padding:.8rem}.sa-profile-main{align-items:flex-start}.sa-profile-avatar{width:58px;height:58px;font-size:1.1rem}.sa-profile-main h1{font-size:1.2rem}.sa-header-health{grid-template-columns:1fr}.sa-tabs-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.sa-overview-grid{grid-template-columns:1fr}.sa-tab-actions,.sa-security-actions,.sa-pagination,.sa-modal-actions{flex-direction:column;align-items:stretch}.sa-primary-btn,.sa-danger-btn,.sa-row-actions button,.sa-pagination button,.sa-modal-actions button{width:100%;justify-content:center}.sa-row-actions{flex-wrap:wrap}.sa-table{min-width:640px}.sa-table th,.sa-table td{font-size:.78rem;padding:.58rem}.sa-modal-backdrop{padding:.4rem;align-items:flex-end}.sa-modal{width:100%;border-radius:14px 14px 0 0}}:root{--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--primary-teal: #14b8a6}.dashboard-container{padding:2rem;min-height:calc(100vh - 64px);background:radial-gradient(circle at 10% 20%,rgba(99,102,241,.05),transparent 30%),radial-gradient(circle at 90% 80%,rgba(20,184,166,.05),transparent 30%);color:var(--text-primary)}.dashboard-header{margin-bottom:2rem}.dashboard-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.dashboard-subtitle{color:var(--text-secondary);font-size:1rem}.dashboard-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1px}.dashboard-tab{background:transparent;border:none;color:var(--text-muted);font-size:1rem;font-weight:500;padding:.75rem 1.5rem;cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent}.dashboard-tab:hover{color:var(--text-primary);background:#ffffff05}.dashboard-tab.active{color:var(--primary-teal);border-bottom-color:var(--primary-teal)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;box-shadow:var(--glass-shadow);transition:transform .2s ease,box-shadow .2s ease;animation:fadeIn .5s ease-out}.glass-panel:hover{box-shadow:0 10px 15px -3px #0003}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--glass-border)}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th{text-align:left;padding:1rem;background:#ffffff08;color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--glass-border)}.data-table td{padding:1.1rem;border-bottom:1px solid var(--glass-border);color:var(--text-primary);vertical-align:middle}.data-table tr:hover{background:#ffffff0a;transition:background .2s ease}.data-table tbody tr:hover{box-shadow:inset 0 0 0 1px #14b8a633}.data-table tr:last-child td{border-bottom:none}.action-btn{padding:.6rem;border-radius:8px;transition:all .25s ease;display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px}.btn-primary{background:linear-gradient(135deg,var(--primary-teal),#0d9488);color:#fff;padding:.65rem 1.25rem;border-radius:10px;font-weight:600;min-height:44px;box-shadow:0 4px 12px #14b8a640;border:none;cursor:pointer;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #14b8a659;background:linear-gradient(135deg,#0d9488,var(--primary-teal))}.btn-primary:active{transform:translateY(0)}.btn-icon{color:var(--text-secondary);font-size:1rem}.btn-icon:hover{background:#ffffff1f;color:#fff;transform:scale(1.05)}.btn-delete:hover{background:#ef444426;color:#ef4444;border-color:#ef4444}.status-badge{padding:.35rem .9rem;border-radius:99px;font-size:.75rem;font-weight:700;text-transform:uppercase;display:inline-block;letter-spacing:.025em;transition:all .2s ease}.badge-green{background:#22c55e33;color:#4ade80;border:1.5px solid rgba(34,197,94,.4);box-shadow:0 2px 8px #22c55e26}.badge-yellow{background:#eab30833;color:#fbbf24;border:1.5px solid rgba(234,179,8,.4);box-shadow:0 2px 8px #eab30826}.badge-red{background:#ef444433;color:#f87171;border:1.5px solid rgba(239,68,68,.4);box-shadow:0 2px 8px #ef444426}.badge-gray{background:#94a3b833;color:#cbd5e1;border:1.5px solid rgba(148,163,184,.4)}.form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;background:#0f172a99;border:1px solid var(--glass-border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:.95rem;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-teal);box-shadow:0 0 0 2px #14b8a633;background:#0f172acc}.form-grid{display:grid;gap:1.5rem}.form-grid-2,.form-grid-3{grid-template-columns:repeat(1,1fr)}@media(min-width:768px){.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.dashboard-container{padding:1rem}.dashboard-title{font-size:1.7rem}.dashboard-subtitle{font-size:.9rem}.dashboard-tabs{gap:.5rem;overflow-x:auto;white-space:nowrap;padding-bottom:.4rem}.dashboard-tab{flex-shrink:0;padding:.65rem 1rem;font-size:.9rem}.glass-panel{padding:1rem;border-radius:12px}.data-table{min-width:640px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.btn-secondary{background:#ffffff1a;color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#fff3}.code-editor{font-family:Fira Code,monospace;line-height:1.5}[data-theme=light] .dashboard-container{color:#0f172a;background:#f8fafc}[data-theme=light] .dashboard-title{background:none;-webkit-text-fill-color:#0f172a;color:#0f172a!important}[data-theme=light] .dashboard-subtitle{color:#475569!important}[data-theme=light] .dashboard-tab{color:#64748b}[data-theme=light] .dashboard-tab:hover{color:#0f172a;background:#0000000a}[data-theme=light] .dashboard-tab.active{color:#14b8a6;border-bottom-color:#14b8a6}[data-theme=light] .glass-panel{background:#fff!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 4px 12px #0000000d!important;color:#0f172a}[data-theme=light] .glass-panel h1,[data-theme=light] .glass-panel h2,[data-theme=light] .glass-panel h3,[data-theme=light] .glass-panel p,[data-theme=light] .glass-panel span{color:#0f172a}[data-theme=light] .data-table th{background:#f1f5f9;color:#475569;border-bottom-color:#00000014}[data-theme=light] .data-table td{color:#0f172a!important;border-bottom-color:#0000000f}[data-theme=light] .data-table tr:hover{background:#f8fafc}[data-theme=light] .btn-secondary{background:#fff;color:#0f172a;border:1px solid rgba(0,0,0,.12)}[data-theme=light] .btn-secondary:hover{background:#0000000a}[data-theme=light] .form-label{color:#475569}[data-theme=light] .form-input,[data-theme=light] .form-select,[data-theme=light] .form-textarea{background:#fff!important;border-color:#00000026!important;color:#0f172a!important}[data-theme=light] .form-input:focus,[data-theme=light] .form-select:focus,[data-theme=light] .form-textarea:focus{background:#fff!important;border-color:#14b8a6!important;box-shadow:0 0 0 2px #14b8a633!important}.problem-form-container{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh}.problem-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #374151}.problem-form-back-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#1a1a1a,#252525);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:#9ca3af;font-weight:600;cursor:pointer;transition:all .3s}.problem-form-back-btn:hover{background:linear-gradient(135deg,#252525,#303030);color:#fff;transform:translate(-4px)}.problem-form-title{font-size:2rem;font-weight:900;color:#14b8a6;display:flex;align-items:center;gap:.75rem}.problem-form-title-icon{padding:.75rem;background:linear-gradient(135deg,#14b8a633,#3b82f633);border-radius:.75rem;color:#14b8a6}.problem-form-content{display:flex;flex-direction:column;gap:2.5rem}.problem-form-section{background:linear-gradient(135deg,#1a1a1a,#151515);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #00000080}.problem-form-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(20,184,166,.3)}.problem-form-section-title{font-size:1.25rem;font-weight:700;color:#14b8a6}.problem-form-section-icon{color:#14b8a6;font-size:1.125rem}.problem-form-grid{display:grid;gap:1.5rem}.problem-form-grid-2{grid-template-columns:repeat(2,1fr)}.problem-form-grid-3{grid-template-columns:repeat(3,1fr)}.problem-form-field{display:flex;flex-direction:column;gap:.75rem}.problem-form-label{font-size:.875rem;font-weight:700;color:#e5e7eb;display:flex;align-items:center;gap:.5rem}.problem-form-required{color:#f87171}.problem-form-input,.problem-form-select,.problem-form-textarea{width:100%;background:#0006;border:2px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1rem 1.25rem;font-size:1rem;color:#fff;transition:all .3s}.problem-form-input:focus,.problem-form-select:focus,.problem-form-textarea:focus{outline:none;border-color:#14b8a680;box-shadow:0 0 0 4px #14b8a61a}.problem-form-input::-moz-placeholder,.problem-form-textarea::-moz-placeholder{color:#6b7280}.problem-form-input::placeholder,.problem-form-textarea::placeholder{color:#6b7280}.problem-form-textarea{resize:vertical;font-family:Courier New,monospace;line-height:1.6}.problem-form-checkbox-wrapper{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#14b8a61a;border:1px solid rgba(20,184,166,.3);border-radius:.75rem;cursor:pointer;transition:all .3s}.problem-form-checkbox-wrapper:hover{background:#14b8a626}.problem-form-checkbox{width:1.25rem;height:1.25rem;border-radius:.375rem;cursor:pointer}.problem-form-checkbox-label{color:#e5e7eb;font-weight:600;cursor:pointer}.test-case-list{display:flex;flex-direction:column;gap:1rem}.test-case-item{background:linear-gradient(90deg,#0f0f0f,#1a1a1a);border:2px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1.5rem;transition:all .3s}.test-case-item:hover{border-color:#14b8a64d}.test-case-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.test-case-number{background:linear-gradient(90deg,#14b8a6,#3b82f6);color:#fff;padding:.5rem 1rem;border-radius:.75rem;font-weight:900;font-size:.875rem}.test-case-remove-btn{padding:.75rem;background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:.75rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.5rem}.test-case-remove-btn:hover{background:#ef444466;transform:scale(1.05)}.test-case-fields{display:grid;gap:1rem}.test-case-checkbox-group{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#a855f71a;border:1px solid rgba(168,85,247,.3);border-radius:.5rem}.test-case-checkbox-label{color:#d8b4fe;font-size:.875rem;font-weight:600}.problem-form-add-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background:linear-gradient(90deg,#a855f733,#ec489933);border:2px dashed rgba(168,85,247,.5);border-radius:.75rem;color:#d8b4fe;font-weight:700;cursor:pointer;transition:all .3s}.problem-form-add-btn:hover{background:linear-gradient(90deg,#a855f74d,#ec48994d);transform:scale(1.02)}.problem-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:2px solid #374151}.problem-form-submit-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(90deg,#14b8a6,#3b82f6,#7c3aed);border:none;border-radius:.75rem;color:#fff;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .3s;box-shadow:0 10px 30px #14b8a64d}.problem-form-submit-btn:hover:not(:disabled){box-shadow:0 10px 50px #14b8a680;transform:scale(1.05)}.problem-form-submit-btn:disabled{opacity:.5;cursor:not-allowed}.problem-form-loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.difficulty-badge{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:700;border:1px solid}.selector-panel{background:linear-gradient(135deg,#0f172abf,#0f172a94);border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:14px}.selector-panel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.selector-panel-title{color:#e2e8f0;font-size:.86rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.selector-shuffle-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(20,184,166,.35);background:#14b8a624;color:#5eead4;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:700;cursor:pointer}.selector-shuffle-btn:hover{background:#14b8a638}.selector-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.selector-column{border:1px solid rgba(148,163,184,.2);border-radius:12px;background:#02061766;padding:10px;min-height:108px}.selector-column.selected{border-color:#38bdf866;background:#0e749029}.selector-column-title{margin:0 0 8px;color:#cbd5e1;font-size:.75rem;font-weight:700}.selector-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.selector-chip{border:1px solid rgba(148,163,184,.28);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:600;color:#e2e8f0;background:#94a3b824;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.selector-chip:hover{transform:translateY(-1px);border-color:#38bdf873;background:#38bdf826}.selector-chip.selected{border-color:#2dd4bf73;background:#2dd4bf33;color:#99f6e4}.selector-chip.company{border-radius:14px}.selector-empty{color:#94a3b8;font-size:.74rem}.editorial-panel{border:1px solid rgba(16,185,129,.25);border-radius:14px;padding:14px;background:linear-gradient(135deg,#064e3b38,#0206178c)}.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editorial-toggle{margin-top:8px;display:inline-flex;align-items:center;gap:8px;color:#bbf7d0;font-size:.83rem;font-weight:600}.editorial-toggle input{width:16px;height:16px}@media(max-width:768px){.problem-form-grid-2,.problem-form-grid-3,.selector-panel-grid,.editorial-grid{grid-template-columns:1fr}.problem-form-header{flex-direction:column;align-items:flex-start;gap:1rem}}[data-theme=light] .problem-form-container{color:#0f172a}[data-theme=light] .problem-form-header{border-bottom-color:#0000001a}[data-theme=light] .problem-form-back-btn{background:#fff;border-color:#0000001f;color:#334155}[data-theme=light] .problem-form-back-btn:hover{background:#f1f5f9;color:#0f172a}[data-theme=light] .problem-form-section{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000f}[data-theme=light] .problem-form-label{color:#334155}[data-theme=light] .selector-panel{background:#f8fafc;border-color:#0000001a}[data-theme=light] .selector-panel-title{color:#334155}[data-theme=light] .selector-column{background:#fff;border-color:#0000001a}[data-theme=light] .selector-column-title{color:#475569}[data-theme=light] .selector-chip{background:#f1f5f9;border-color:#0000001f;color:#334155}[data-theme=light] .selector-chip:hover{background:#e0f2fe;color:#0284c7}[data-theme=light] .selector-chip.selected{background:#ccfbf1;border-color:#0d9488;color:#0f766e}[data-theme=light] .editorial-panel{background:#f0fdf4;border-color:#22c55e4d}[data-theme=light] .editorial-toggle{color:#166534}.contest-form-wrapper{min-height:100vh;background:linear-gradient(135deg,#0a0a0a,#111,#0f0f0f);padding:2rem;position:relative;overflow:hidden}.contest-form-wrapper:before,.contest-form-wrapper:after{content:"";position:fixed;border-radius:50%;filter:blur(80px);opacity:.1;pointer-events:none;animation:pulse-glow 4s ease-in-out infinite}.contest-form-wrapper:before{top:25%;left:25%;width:384px;height:384px;background:#a855f7}.contest-form-wrapper:after{bottom:25%;right:25%;width:384px;height:384px;background:#14b8a6;animation-delay:1s}@keyframes pulse-glow{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.15;transform:scale(1.1)}}.contest-form-container{max-width:1400px;margin:0 auto;position:relative;z-index:10}.contest-form-header{margin-bottom:2.5rem}.header-top{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.back-button{padding:.75rem;background:linear-gradient(135deg,#1a1a1a,#252525);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:#9ca3af;cursor:pointer;transition:all .3s;box-shadow:0 10px 40px #0000004d}.back-button:hover{background:linear-gradient(135deg,#252525,#303030);transform:scale(1.05) translate(-4px)}.header-content{flex:1}.header-icon-wrapper{display:inline-flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.header-icon{padding:.75rem;background:linear-gradient(135deg,#f9731633,#ec489933);border:1px solid rgba(249,115,22,.3);border-radius:.75rem}.header-title{font-size:2.25rem;font-weight:900;color:#fb923c}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.header-subtitle{color:#d1d5db;margin-left:4rem}.preview-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:.75rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 10px 20px #0000004d}.preview-toggle-active{background:linear-gradient(90deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 10px 30px #2563eb4d}.preview-toggle-inactive{background:linear-gradient(135deg,#1a1a1a,#252525);border:1px solid rgba(255,255,255,.1);color:#9ca3af}.preview-toggle:hover{transform:scale(1.05)}.form-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.form-grid-with-preview{grid-template-columns:2fr 1fr}}.form-card{position:relative;background:linear-gradient(135deg,#1a1a1a,#151515);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2rem;box-shadow:0 20px 60px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .5s}.form-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(90deg,#14b8a6,#3b82f6);border-radius:1rem;opacity:.2;filter:blur(10px);z-index:-1;transition:opacity .5s}.form-card:hover:before{opacity:.4}.form-card-purple:before{background:linear-gradient(90deg,#a855f7,#ec4899)}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.card-icon-wrapper{padding:.75rem;border-radius:.75rem}.card-icon-teal{background:linear-gradient(135deg,#14b8a633,#3b82f633)}.card-icon-purple{background:linear-gradient(135deg,#a855f733,#ec489933)}.card-icon-blue{background:linear-gradient(135deg,#2563eb33,#7c3aed33)}.card-title{font-size:1.5rem;font-weight:700}.card-title-teal{color:#14b8a6}.card-title-purple{color:#a855f7}.card-title-blue{color:#3b82f6}.card-badge{margin-left:auto;padding:.5rem 1.25rem;background:linear-gradient(90deg,#a855f74d,#ec48994d);border:1px solid rgba(168,85,247,.5);border-radius:9999px;font-size:.875rem;font-weight:900;color:#d8b4fe;box-shadow:0 4px 12px #a855f733}.form-group{margin-bottom:1.5rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:#e5e7eb;margin-bottom:.75rem}.form-input,.form-textarea{width:100%;background:#0006;border:2px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1rem 1.25rem;font-size:1.125rem;color:#fff;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#6b7280}.form-input::placeholder,.form-textarea::placeholder{color:#6b7280}.form-input:focus,.form-textarea:focus{outline:none;border-color:#14b8a680;box-shadow:0 0 0 4px #14b8a61a}.form-textarea{resize:none;font-size:1rem}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.search-box{position:relative;margin-bottom:1.5rem}.problem-list-container{max-height:288px;overflow-y:auto;border:2px solid rgba(255,255,255,.05);border-radius:.75rem;background:#0003;padding:.75rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.problem-list{display:flex;flex-direction:column;gap:.5rem}.problem-item{padding:1rem;border-radius:.75rem;background:linear-gradient(90deg,#1a1a1a,#1f1f1f);border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .3s;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #0003}.problem-item:hover{background:linear-gradient(90deg,#252525,#2a2a2a);border-color:#a855f74d;transform:scale(1.02) translate(6px)}.problem-info{flex:1}.problem-title{font-weight:700;color:#f3f4f6;margin-bottom:.25rem}.problem-meta{display:flex;align-items:center;gap:.5rem}.difficulty-badge{padding:.25rem .75rem;border-radius:.5rem;font-size:.75rem;font-weight:700;border:1px solid}.difficulty-easy{background:#22c55e33;color:#4ade80;border-color:#22c55e4d}.difficulty-medium{background:#eab30833;color:#facc15;border-color:#eab3084d}.difficulty-hard{background:#ef444433;color:#f87171;border-color:#ef44444d}.problem-topic{color:#9ca3af;font-size:.75rem}.problem-add-icon{padding:.5rem;background:#a855f733;border-radius:.5rem;transition:all .3s}.problem-item:hover .problem-add-icon{background:#a855f74d;transform:rotate(90deg)}.selected-problems-header{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:900;color:#e5e7eb;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.selected-problem-item{background:linear-gradient(90deg,#0f0f0f,#1a1a1a);border:2px solid rgba(255,255,255,.1);border-radius:.75rem;padding:1rem;margin-bottom:.75rem;box-shadow:0 8px 24px #0000004d;transition:all .3s}.selected-problem-item:hover{border-color:#14b8a64d}.selected-problem-content{display:flex;align-items:center;gap:1rem}.order-controls{display:flex;flex-direction:column;gap:.25rem}.order-button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.75rem;padding:.25rem;transition:all .3s}.order-button:hover:not(:disabled){color:#14b8a6;transform:scale(1.2)}.order-button:disabled{opacity:.3;cursor:not-allowed}.problem-order-badge{background:linear-gradient(90deg,#14b8a6,#3b82f6);color:#fff;padding:.5rem 1rem;border-radius:.75rem;font-weight:900;font-size:.875rem;box-shadow:0 4px 12px #14b8a64d}.selected-problem-info{flex:1}.selected-problem-title{font-weight:700;color:#fff;margin-bottom:.25rem}.selected-problem-meta{font-size:.75rem;color:#9ca3af}.points-input-wrapper{display:flex;align-items:center;gap:.75rem;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.5rem 1rem}.points-input{width:80px;background:transparent;border:none;text-align:center;color:#facc15;font-weight:900;font-size:1rem}.points-input:focus{outline:none}.points-label{color:#9ca3af;font-size:.875rem;font-weight:700}.remove-button{padding:.75rem;background:#ef444433;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:.75rem;cursor:pointer;transition:all .3s}.remove-button:hover{background:#ef444466;transform:scale(1.1) rotate(10deg)}.empty-state{text-align:center;padding:3rem 1rem;border:2px dashed #374151;border-radius:.75rem;background:#0003;color:#9ca3af}.empty-icon{font-size:2.5rem;margin-bottom:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.btn{padding:1rem 2rem;border-radius:.75rem;font-weight:700;font-size:1.125rem;cursor:pointer;transition:all .3s;display:flex;align-items:center;gap:.75rem;box-shadow:0 10px 30px #0000004d}.btn-cancel{background:linear-gradient(135deg,#1a1a1a,#252525);border:2px solid rgba(255,255,255,.1);color:#9ca3af}.btn-cancel:hover{border-color:#fff3;transform:scale(1.05)}.btn-primary{background:linear-gradient(90deg,#14b8a6,#3b82f6,#7c3aed);border:none;color:#fff;box-shadow:0 10px 40px #14b8a64d}.btn-primary:hover:not(:disabled){box-shadow:0 10px 50px #14b8a680;transform:scale(1.05)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-panel{position:sticky;top:2rem}.preview-card{background:linear-gradient(135deg,#1a1a1a,#151515);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.5rem;box-shadow:0 20px 60px #00000080}.preview-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(90deg,#3b82f6,#7c3aed);border-radius:1rem;opacity:.3;filter:blur(10px);z-index:-1}.preview-content{display:flex;flex-direction:column;gap:1.25rem}.preview-field{background:#0000004d;border:1px solid rgba(255,255,255,.05);border-radius:.75rem;padding:1rem}.preview-label{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:.5rem}.preview-value{font-size:1.25rem;font-weight:900;color:#f3f4f6}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.preview-stat{background:linear-gradient(135deg,#f973161a,#ef44441a);border:1px solid rgba(249,115,22,.2);border-radius:.75rem;padding:1rem}.preview-stat-blue{background:linear-gradient(135deg,#3b82f61a,#7c3aed1a);border-color:#3b82f633}.preview-stat-icon{margin-bottom:.5rem}.preview-stat-label{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.preview-stat-value{font-size:1.125rem;font-weight:900;color:#fff;font-family:Courier New,monospace}.preview-total-points{background:linear-gradient(135deg,#eab3081a,#f973161a);border:2px solid rgba(234,179,8,.3);border-radius:.75rem;padding:1.25rem;box-shadow:0 8px 24px #eab3081a}.preview-total-points-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.preview-total-points-label{font-size:.75rem;color:#facc15;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.preview-total-points-value{font-size:2.25rem;font-weight:900;color:#facc15}.preview-problems-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.preview-problems-title{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.preview-problems-count{background:#a855f733;color:#d8b4fe;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:900}.preview-problems-list{max-height:256px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.preview-problem-item{background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.75rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .3s}.preview-problem-item:hover{border-color:#14b8a64d;transform:scale(1.02) translate(4px)}.preview-problem-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.preview-problem-order{background:linear-gradient(90deg,#14b8a6,#3b82f6);color:#fff;padding:.25rem .75rem;border-radius:.5rem;font-weight:900;font-size:.75rem;flex-shrink:0}.preview-problem-name{color:#fff;font-size:.875rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-problem-points{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.preview-problem-points-value{color:#facc15;font-size:.75rem;font-weight:900}.problem-list-container::-webkit-scrollbar,.preview-problems-list::-webkit-scrollbar{width:6px}.problem-list-container::-webkit-scrollbar-track,.preview-problems-list::-webkit-scrollbar-track{background:#0003;border-radius:10px}.problem-list-container::-webkit-scrollbar-thumb,.preview-problems-list::-webkit-scrollbar-thumb{background:#14b8a64d;border-radius:10px}.problem-list-container::-webkit-scrollbar-thumb:hover,.preview-problems-list::-webkit-scrollbar-thumb:hover{background:#14b8a680}@media(max-width:1023px){.form-grid-2{grid-template-columns:1fr}.header-title{font-size:1.875rem}.preview-panel{position:static}}[data-theme=light] .contest-form-wrapper{background:#f8fafc;color:#0f172a}[data-theme=light] .back-button{background:#fff;border-color:#0000001f;color:#334155;box-shadow:0 4px 12px #0000000d}[data-theme=light] .back-button:hover{background:#f1f5f9;color:#0f172a}[data-theme=light] .form-section-card{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000d}[data-theme=light] .form-label{color:#334155}[data-theme=light] .input-field,[data-theme=light] .textarea-field{background:#fff;border-color:#00000026;color:#0f172a}[data-theme=light] .preview-panel{background:#fff;border-color:#00000014;box-shadow:0 4px 20px #0000000d}[data-theme=light] .preview-problem-item{background:#f8fafc;border-color:#00000014}[data-theme=light] .preview-problem-name{color:#0f172a}.dc-admin-page{display:flex;flex-direction:column;gap:1.25rem}.dc-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.dc-panel-head h2,.dc-panel-head h3{margin:0;color:#f8fafc;font-weight:700}.dc-panel-head p{margin:.35rem 0 0;color:#cbd5e1}.dc-head-actions{display:flex;gap:.6rem;flex-wrap:wrap}.dc-form-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:1rem}.dc-switch-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:.75rem}.dc-switch-item{display:flex;align-items:center;gap:.55rem;color:#e2e8f0;font-size:.9rem}.dc-switch-item input{width:16px;height:16px}.dc-warning-box{grid-column:1 / -1;padding:.75rem .85rem;border:1px solid rgba(245,158,11,.5);border-radius:10px;background:#f59e0b1f;color:#fde68a;font-size:.9rem;display:flex;flex-direction:column;gap:.35rem}.dc-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.7rem;flex-wrap:wrap}.dc-help-text{margin-top:.4rem;color:#cbd5e1;display:inline-block}.dc-loading-inline{color:#94a3b8;font-size:.9rem}.dc-pattern-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.65rem}.dc-pattern-card{border:1px solid rgba(148,163,184,.28);background:#0f172a8c;border-radius:12px;padding:.7rem}.dc-pattern-day{font-weight:700;color:#f1f5f9}.dc-pattern-meta{margin-top:.35rem;font-size:.78rem;color:#cbd5e1}.dc-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:.8rem}.dc-insight-card{border:1px solid rgba(148,163,184,.22);border-radius:12px;padding:.85rem;background:#0f172a73}.dc-insight-card h4{margin:0 0 .5rem;color:#f8fafc}.dc-insight-card p,.dc-insight-card li{color:#dbeafe}.dc-insight-card ul{margin:0;padding-left:1rem}.dc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.45rem}.dc-dot.easy{background:#22c55e}.dc-dot.medium{background:#f59e0b}.dc-dot.hard{background:#ef4444}.dc-chip-wrap{display:flex;flex-wrap:wrap;gap:.45rem}.dc-chip{background:#3b82f62e;border:1px solid rgba(59,130,246,.45);color:#bfdbfe;border-radius:999px;padding:.22rem .6rem;font-size:.78rem}.dc-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.dc-recent-list li{display:grid;grid-template-columns:92px 1fr auto;gap:.6rem;align-items:center}.dc-row-actions{display:flex;gap:.45rem;flex-wrap:wrap}.dc-danger-btn{border-color:#ef444473;color:#fecaca}.dc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:.5rem}.dc-calendar-weekday{color:#cbd5e1;text-align:center;font-weight:600;font-size:.86rem;padding-bottom:.2rem}.dc-calendar-cell{min-height:122px;border-radius:12px;border:1px solid rgba(148,163,184,.24);background:#0f172a73;padding:.55rem;display:flex;flex-direction:column;gap:.3rem}.dc-calendar-cell.blank{visibility:hidden}.dc-calendar-cell.empty{opacity:.72}.dc-cell-date{font-size:.85rem;color:#f8fafc;font-weight:700}.dc-cell-title{color:#e2e8f0;font-size:.78rem;line-height:1.25;min-height:30px}.dc-cell-source{margin-top:auto;color:#93c5fd;font-size:.72rem}.dc-cell-empty{font-size:.75rem;color:#94a3b8;margin-top:auto}.dc-difficulty-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.18rem .55rem;font-size:.74rem;font-weight:700;border:1px solid transparent}.dc-difficulty-easy{color:#86efac;background:#22c55e2b;border-color:#22c55e73}.dc-difficulty-medium{color:#fcd34d;background:#f59e0b2e;border-color:#f59e0b7a}.dc-difficulty-hard{color:#fca5a5;background:#ef44442e;border-color:#ef444475}@media(max-width:1180px){.dc-form-grid,.dc-switch-grid{grid-template-columns:1fr}.dc-pattern-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.dc-insights-grid{grid-template-columns:1fr}}@media(max-width:860px){.dc-panel-head{flex-direction:column}.dc-calendar-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.dc-calendar-weekday{display:none}.dc-pattern-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media(max-width:560px){.dc-calendar-grid,.dc-pattern-grid{grid-template-columns:1fr}.dc-recent-list li{grid-template-columns:1fr;gap:.2rem}}[data-theme=light] .dc-panel-head h2,[data-theme=light] .dc-panel-head h3,[data-theme=light] .dc-pattern-day,[data-theme=light] .dc-insight-card h4,[data-theme=light] .dc-cell-date{color:#0f172a}[data-theme=light] .dc-panel-head p,[data-theme=light] .dc-help-text,[data-theme=light] .dc-pattern-meta,[data-theme=light] .dc-cell-title,[data-theme=light] .dc-cell-source,[data-theme=light] .dc-cell-empty,[data-theme=light] .dc-insight-card p,[data-theme=light] .dc-insight-card li,[data-theme=light] .dc-calendar-weekday{color:#334155}[data-theme=light] .dc-pattern-card,[data-theme=light] .dc-insight-card,[data-theme=light] .dc-calendar-cell{background:#fff;border-color:#0f172a1f}.admin-profile-page{display:flex;flex-direction:column;gap:18px;color:var(--sa-text, #e6edf7)}.admin-profile-loading{color:var(--sa-text-muted, #dbe4f2);text-align:center;padding:40px 0}.admin-profile-header{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--sa-card-bg, #111827);border:1px solid var(--sa-border, rgba(255, 255, 255, .08));border-radius:18px;padding:1.4rem;box-shadow:var(--sa-shadow)}.admin-profile-main{display:flex;align-items:center;gap:14px}.admin-profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--sa-pill-inactive, #1f2937);border:2px solid var(--sa-accent, #7c3aed);overflow:hidden;display:grid;place-items:center;font-size:1.2rem;font-weight:700;color:var(--sa-text)}.admin-profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.admin-profile-meta h1{margin:0;font-size:1.35rem;font-weight:800;color:var(--sa-text)}.admin-profile-meta p{margin:3px 0 0;color:var(--sa-text-muted)}.admin-profile-badges{margin-top:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-role-badge{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#f5f3ff;font-weight:700;font-size:.75rem;padding:4px 10px;border-radius:999px;box-shadow:0 2px 8px #7c3aed4d}.admin-role-pill,.admin-status-pill{border:1px solid var(--sa-border);background:var(--sa-pill-inactive);color:var(--sa-text-muted);font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:999px}.admin-status-pill.active{border-color:#22c55e66;background:#22c55e26;color:#16a34a}.admin-status-pill.inactive{border-color:#ef444466;background:#ef444426;color:#dc2626}.admin-profile-side{min-width:220px;display:flex;flex-direction:column;gap:8px}.admin-profile-side div{display:flex;justify-content:space-between;gap:10px;color:var(--sa-text)}.admin-profile-side span{color:var(--sa-text-muted)}.admin-profile-tabs{display:flex;flex-wrap:wrap;gap:8px}.admin-tab-btn{border:1px solid var(--sa-border);background:var(--sa-pill-inactive);color:var(--sa-pill-text);border-radius:10px;padding:8px 14px;font-size:.85rem;font-weight:650;cursor:pointer;transition:all .2s ease}.admin-tab-btn:hover{color:var(--sa-text);transform:translateY(-1px)}.admin-tab-btn.active{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff!important;border-color:#2563eb;box-shadow:0 4px 12px #2563eb59}.admin-overview-wrap,.admin-permission-wrap,.admin-activity-wrap,.admin-security-wrap{display:flex;flex-direction:column;gap:14px}.admin-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.admin-metric-card{background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:14px;padding:1.1rem;display:flex;flex-direction:column;gap:5px;box-shadow:var(--sa-shadow);color:var(--sa-text)}.admin-metric-card span{color:var(--sa-text-muted);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.admin-metric-card strong{font-size:1.35rem;font-weight:800}.admin-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.admin-chart-card,.admin-panel{background:var(--sa-card-bg);border:1px solid var(--sa-border);border-radius:16px;padding:1.3rem;box-shadow:var(--sa-shadow);color:var(--sa-text)}.admin-chart-card h3,.admin-panel h3{margin-top:0;margin-bottom:12px;font-size:1.15rem;font-weight:750;color:var(--sa-text)}.admin-health-status{margin-top:8px;color:var(--sa-text-muted)}.admin-alert-list{display:grid;gap:10px}.admin-alert{border-radius:12px;border:1px solid var(--sa-border);background:var(--sa-card-bg);padding:12px}.admin-alert strong{font-size:.84rem;letter-spacing:.2px}.admin-alert p{margin:5px 0 0;color:var(--sa-text-muted);font-size:.88rem}.admin-alert.critical{border-color:#ef444466;background:#ef44441f;color:#ef4444}.admin-alert.warning{border-color:#f59e0b66;background:#f59e0b1f;color:#f59e0b}.admin-alert.info{border-color:#0ea5e966;background:#0ea5e91f;color:#0ea5e9}.admin-permission-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.admin-form-grid{display:grid;grid-template-columns:1fr;gap:10px}.admin-form-grid label{color:var(--sa-text-muted);font-size:.86rem;font-weight:600}.admin-form-grid input,.admin-security-item input{background:var(--sa-input-bg);border:1px solid var(--sa-input-border);border-radius:10px;color:var(--sa-text);padding:9px 12px;font-size:.9rem}.admin-primary-btn,.admin-danger-btn{border:none;border-radius:10px;padding:9px 16px;color:#fff;cursor:pointer;font-weight:700;font-size:.88rem;margin-top:10px;transition:all .2s ease}.admin-primary-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d}.admin-primary-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2563eb66}.admin-danger-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.admin-danger-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #ef444466}.admin-primary-btn:disabled,.admin-danger-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.admin-permission-table{display:grid;grid-template-columns:1fr;gap:10px}.admin-note{margin-top:0;color:var(--sa-text-muted);font-size:.85rem}.admin-permission-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed var(--sa-border);padding-bottom:8px;color:var(--sa-text)}.admin-switch{position:relative;width:42px;height:23px;display:inline-block}.admin-switch input{opacity:0;width:0;height:0}.admin-switch span{position:absolute;inset:0;background:var(--sa-border);border-radius:999px;transition:.2s}.admin-switch span:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.admin-switch input:checked+span{background:#22c55e}.admin-switch input:checked+span:before{transform:translate(19px)}.admin-table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--sa-border)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--sa-border);color:var(--sa-text)}.admin-table th{background:var(--sa-table-header-bg);color:var(--sa-text-muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.admin-empty-row,.admin-empty-text{color:var(--sa-text-muted);text-align:center}.admin-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.admin-pagination button{background:var(--sa-pill-inactive);color:var(--sa-text);border:1px solid var(--sa-border);border-radius:10px;padding:7px 14px;font-weight:600;cursor:pointer;transition:all .2s ease}.admin-pagination button:hover{background:var(--sa-card-hover)}.admin-security-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.admin-security-grid{display:grid;grid-template-columns:1fr;gap:12px}.admin-security-item{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px dashed var(--sa-border);padding-bottom:8px;color:var(--sa-text)}.admin-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.admin-login-history{display:grid;grid-template-columns:1fr;gap:10px;max-height:350px;overflow:auto}.admin-login-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--sa-border);background:var(--sa-card-bg);color:var(--sa-text)}.admin-login-row p{margin:3px 0 0;color:var(--sa-text-muted);font-size:.82rem}@media(max-width:768px){.admin-profile-header{padding:12px}.admin-profile-main{width:100%}.admin-profile-side{width:100%;min-width:0}.admin-profile-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tab-btn{width:100%}.admin-chart-grid,.admin-permission-wrap,.admin-security-wrap{grid-template-columns:1fr}.admin-table{min-width:620px}.admin-pagination{flex-direction:column;align-items:stretch;gap:8px}.admin-pagination button{width:100%}.admin-login-row{flex-direction:column;align-items:flex-start}}@media(max-width:520px){.admin-profile-page{gap:12px}.admin-profile-meta h1{font-size:1.15rem}.admin-profile-tabs{grid-template-columns:1fr}.admin-action-row{flex-direction:column}.admin-primary-btn,.admin-danger-btn{width:100%}}
