@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);*,:after,:before{--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:rgba(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:rgba(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: }

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[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}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.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)}.transition{transition-duration:.15s;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)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}[data-theme=light]{--background:#005bbb;--shadow:rgba(0,0,0,.2);--buttons:#fff;--text:#f5f7fa;--text-primary:#005bbb;--filter:brightness(70%);--borders:#002645;--hover-text:#ffb81c;--about-text:#fff;--about-link:#0073cf;--menu-text:#fff;--card-hover:#e8f0fe;--card-shadow:rgba(0,0,0,.1);--hover-border:#ffb81c}[data-theme=dark]{--background:#001a3a;--shadow:rgba(0,0,0,.2);--buttons:#002645;--text:#e2e4f6;--text-primary:#e2e4f6;--filter:brightness(70%);--borders:#036;--hover-text:#ffb81c;--about-text:#e2e4f6;--about-link:#0073cf;--menu-text:#e2e4f6;--card-hover:#003d7a;--card-shadow:hsla(0,0%,100%,.05);--hover-border:#0073cf}*,:after,:before{box-sizing:border-box}*{appearance:none;z-index:0}body,html{overflow-x:hidden}body{min-width:0}#menu{margin-left:15px;width:80px}#menu,#theme{align-items:center;display:flex}#theme{justify-content:center;margin-right:15px;transition:.2s ease-out}#theme:hover{cursor:pointer}.related-pages-header{color:var(--text);font-size:2em;margin-bottom:20px;margin-top:20px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.banner-container{display:flex;justify-content:center}.banner{animation:banner-ease 2s ease-in-out forwards;background-color:#005bbb;border-radius:0 0 15px 15px;cursor:default;filter:drop-shadow(3px 3px 3px);font-size:x-large;padding:20px 40px 10px;text-align:center}@keyframes text-bubble-bounce{0%,50%,to{transform:translateY(335px) scale(.95)}50%{transform:translateY(330px) scale(1.05)}to{transform:translateY(335px) scale(1)}}#text-bubble{align-content:center;animation:text-bubble-bounce .3s ease-in-out forwards;background-color:var(--buttons);border:2px solid var(--borders);border-radius:10px;color:var(--text-primary);min-height:60px;min-width:100%;padding:5px;text-align:center}#text-bubble:before{border-color:transparent transparent var(--borders) transparent;border-width:15px;left:10px;top:-39%}#text-bubble:after,#text-bubble:before{border-style:solid;content:"";position:absolute}#text-bubble:after{border-color:transparent transparent var(--buttons) transparent;border-width:14px;left:11px;top:-34%}#blob-container{align-items:flex-end;bottom:0;cursor:pointer;display:flex;height:160px;justify-content:center;left:0;margin-bottom:4%;margin-left:11%;opacity:1;pointer-events:none;position:fixed;text-align:left;transition:.2s;width:160px;z-index:1}.blob-container-algo{bottom:20%;position:absolute;right:80px}#blob-container:hover{height:165px;width:165px}.blobLogo{left:30px;pointer-events:auto;-webkit-pointer-events:auto;position:relative;top:130px;width:100px;z-index:2}.blobLogo-animate{animation:blob-logo-bounce .3s ease-in-out forwards}@keyframes blob-logo-bounce{0%,50%,to{transform:scale(.8)}50%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes banner-ease{0%{transform:translateY(-7vw)}to{transform:translateY(-5px)}}.rotate-effect{transition:transform 1.5s ease}.rotate-effect:hover{transform:rotate(1turn)}#title{align-items:center;display:flex;left:50%;position:absolute;transform:translateX(-50%)}#title h1{font-size:1.35em;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase;white-space:nowrap}.title-lockup{align-items:center;display:flex;gap:10px}.side-panel-logo{display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));height:40px;margin:15px auto 5px;opacity:.85;transition:transform .3s ease,opacity .3s ease;width:auto}.side-panel-logo:hover{opacity:1;transform:scale(1.08)}.title-text{align-items:baseline;display:flex;gap:6px}.title-accent{color:#ffb81c;font-weight:700}.gimmicks{align-items:center;display:flex;justify-content:right;margin-right:25px}body{background-color:var(--background);color:var(--primary);font:100% Cabin,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;letter-spacing:.01em;line-height:1.6;margin:0;padding:0}.about{background:transparent;color:var(--about-text);margin-left:30px;padding:2em 1em 1em}.code{background:#001a3a}.menu{background-color:var(--background);height:100%;left:-240px;line-height:3em;opacity:0;padding:1.5em;position:fixed;top:68px;width:220px;z-index:3}.menu.show{animation-name:enter;left:-20px;opacity:.97;z-index:3}.menu.hide,.menu.show{animation-duration:.5s}.menu.hide{animation-name:exit}.menu ul{list-style-type:none}.menu a{color:var(--menu-text);font-size:1.4em;font-weight:700;text-decoration:none;transition:all .4s ease 0s}.menu a:hover{color:var(--hover-text)}.content{background-color:var(--background);transition:all .4s ease 0s}.content h1{font-size:3em;letter-spacing:-.02em;line-height:1.2;text-align:center}.content h3{font-weight:100;text-align:center}.about a,.four-o-four a{color:var(--about-link);cursor:pointer;text-decoration:none;transition:color .2s}.about a:hover,.four-o-four a:hover{color:var(--hover-text);text-decoration:underline}.personal,.text{margin:0 100px 100px 200px;position:absolute}.personal a{color:var(--about-link);text-decoration:none}.personal a:hover{color:var(--hover-text);text-decoration:underline}.header{background-color:var(--background);box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:var(--nav-shadow);color:var(--text);height:45px;padding:5px 0;position:fixed;position:sticky;top:0;transition:background-color .3s;transition:all .3s ease;width:100%;z-index:100}.header,.menu-bar{align-items:center;display:flex}.menu-bar{cursor:pointer;gap:1.5rem;height:30px;justify-content:center;padding:.5rem;transition:.2s ease-out;width:30px}.menu-bar:hover{transform:scale(1.15);transition:.4s ease-in}.menu-bar a{border-radius:6px;color:var(--text-primary);font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.menu-bar a:hover{background-color:var(--button);transform:translateY(-2px)}.menu-bar a.active{background-color:var(--button);font-weight:600}div.header h1{margin:0;white-space:nowrap}div.container{display:flex;flex-direction:column;margin:0;max-width:100vw;min-height:100dvh;min-width:0;overflow-x:hidden;width:100%}div.header{background-color:var(--background);border-bottom:2px solid var(--borders);box-shadow:0 2px 8px rgba(0,0,0,.12);color:var(--text);text-align:center}.footer,div.footer{background-color:var(--background);color:var(--text);margin-top:40px;padding:20px;text-align:center;transition:background-color .3s}.footer a{color:var(--about-link);text-decoration:none;transition:color .2s}.footer a:hover{color:var(--hover-text);text-decoration:underline}div.content{flex:1 1;max-width:100%;min-width:0;padding:1.5em 1em 1em}.contact{margin:25px 0 0 400px;position:absolute;text-align:center}.inner-flex button.button{background:var(--buttons);border:1.5px solid var(--borders);border-radius:20px;box-shadow:0 2px 4px 0 4px 6px rgba(0,0,0,.1);box-shadow:0 2px 4px var(--card-shadow);color:var(--text-primary);cursor:pointer;display:flex;font-family:IBM Plex Sans Condensed,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.4em;font-weight:700;height:210px;justify-content:space-between;margin:0;max-width:100%;overflow:hidden;padding:10px;pointer-events:auto;transition:all .4s ease 0s;width:100%}.algo-container{align-items:center;display:flex;flex-direction:column;height:100%;padding:0;transition:all .3s ease;transition:all var(--transition-speed) ease;width:100%}.algo-name{font-size:20px;font-weight:600;margin:10px 0;text-align:center}.algo-picture{align-items:center;display:flex;justify-content:center;overflow:hidden}.algo-picture img{align-items:center;max-height:100%;max-width:90%;-o-object-fit:contain;object-fit:contain;transition:transform .3s ease;transition:transform var(--transition-speed) ease}.algo-container:hover .algo-picture img{transform:scale(1.05)}.pseudocode-icon{align-items:center;display:flex;margin-bottom:-4px;margin-top:-4px}.inner-flex button.button:active,.inner-flex button.button:hover{background:var(--card-hover);border-color:var(--hover-border);border-width:2px;box-shadow:0 4px 6px 0 4px 6px rgba(0,0,0,.1);box-shadow:0 4px 6px var(--card-shadow);transform:translateY(-2px)}.inner-flex a:focus,.inner-flex button.button:focus{outline:none}.inner-flex a::-moz-focus-inner,.inner-flex button.button::-moz-focus-inner{border:0}.outer-flex{align-items:flex-start;display:flex;flex-direction:row;margin-left:3%;margin-right:3%;pointer-events:none}.inner-flex{display:flex;flex-wrap:wrap;gap:1rem;max-width:100%;min-width:0;width:100%}.mid-flex{align-items:center;display:flex;flex-direction:column;justify-content:center}.divider{font-size:1.5em;margin:20px 5px;text-align:center;white-space:nowrap;width:100%}.divider span{background-color:#005bbb;border-radius:15px;box-shadow:0 8px 15px rgba(0,91,187,.4);color:#fff;padding:5px 10px}.dsa-filter{background-color:var(--background);border-radius:40px;color:var(--buttons);display:block;font-size:1.2em;margin:5% auto;padding:.8rem 1rem;width:90%}.home-top-row{padding:1.25rem 1rem 1.5rem;pointer-events:auto;width:100%}.home-top-row,.home-top-row__group{align-items:center;display:flex;justify-content:center}.home-top-row__group{flex-wrap:wrap;gap:.75rem 1rem;max-width:100%}.expandable-search{align-items:center;background:var(--buttons);border:1.5px solid var(--borders);border-radius:2rem;box-shadow:0 2px 6px var(--shadow);display:inline-flex;overflow:hidden;transition:box-shadow .2s ease}.expandable-search:not(.expandable-search--expanded) .expandable-search__input{min-width:0;opacity:0;pointer-events:none;position:absolute;width:0}.expandable-search--expanded{min-width:200px}.expandable-search__icon-btn{align-items:center;background:transparent;border:none;color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;padding:0;width:44px}.expandable-search__icon-btn:hover{color:var(--hover-text)}.expandable-search__icon{height:22px;width:22px}.expandable-search__input{background:transparent;border:none;color:var(--text-primary);font:inherit;font-size:1rem;min-width:0;padding:0;transition:width .2s ease;width:0}.expandable-search--expanded .expandable-search__input{min-width:160px;opacity:1;padding:.5rem 1rem .5rem 0;pointer-events:auto;position:static;width:160px}.expandable-search__input::-moz-placeholder{color:var(--text);opacity:.8}.expandable-search__input::placeholder{color:var(--text);opacity:.8}.expandable-search__input:focus{outline:none}.home-categories{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.home-categories__pill{background:var(--buttons);border:1.5px solid var(--borders);border-radius:2rem;color:var(--text-primary);cursor:pointer;font-family:IBM Plex Sans Condensed,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.95rem;font-weight:600;padding:.5rem 1rem;transition:background .2s ease,border-color .2s ease,color .2s ease}.home-categories__pill:hover{border-color:var(--hover-border);color:var(--hover-text)}.home-categories__pill--active{background:var(--borders);border-color:var(--borders);color:var(--buttons)}.home-categories__pill--active:hover{color:var(--buttons);opacity:.95}.home-grid-wrap{margin:0;max-width:100%;padding:0 1rem;width:100%}.home-grid-wrap .inner-flex{justify-content:center}.content .inner-flex>a{display:block;min-width:0}.app-page,.app-page .content,.explore-page,.explore-page .content{background-color:#f8faff}.app-page .header,.explore-page .header{background-color:#fff;border-bottom-color:#bfdbfe;box-shadow:0 2px 8px rgba(0,91,187,.08);color:#005bbb}.app-page .header #title,.app-page .header #title h1,.app-page .header .title-text,.explore-page .header #title,.explore-page .header #title h1,.explore-page .header .title-text{color:#005bbb}.app-page .header .title-accent,.explore-page .header .title-accent{color:#004a9e}.app-page .header .menu-bar,.app-page .header .menu-bar svg,.explore-page .header .menu-bar,.explore-page .header .menu-bar svg{fill:#005bbb;color:#005bbb}.app-page .header #theme,.app-page .header .gimmicks,.explore-page .header #theme,.explore-page .header .gimmicks{color:#005bbb}.app-page .header #theme svg,.explore-page .header #theme svg{fill:#005bbb!important}.app-page .menu,.explore-page .menu{background-color:#f8faff;border:1px solid #bfdbfe}.app-page .menu a,.explore-page .menu a{color:#005bbb}.app-page .menu a:hover,.explore-page .menu a:hover{color:#004a9e}.app-page .expandable-search,.explore-page .expandable-search{background:#fff;border-color:#bfdbfe;box-shadow:0 2px 6px rgba(0,91,187,.1)}.app-page .expandable-search__icon-btn,.explore-page .expandable-search__icon-btn{color:#005bbb}.app-page .expandable-search__icon-btn:hover,.explore-page .expandable-search__icon-btn:hover{color:#004a9e}.app-page .expandable-search__input,.explore-page .expandable-search__input{color:#1a1a1a}.app-page .expandable-search__input::-moz-placeholder,.explore-page .expandable-search__input::-moz-placeholder{color:#6b7280}.app-page .expandable-search__input::placeholder,.explore-page .expandable-search__input::placeholder{color:#6b7280}.app-page .home-categories__pill,.explore-page .home-categories__pill{background:#fff;border-color:#bfdbfe;color:#005bbb}.app-page .home-categories__pill:hover,.explore-page .home-categories__pill:hover{border-color:#005bbb;color:#004a9e}.app-page .home-categories__pill--active,.explore-page .home-categories__pill--active{background:#005bbb;border-color:#005bbb;color:#fff}.app-page .home-categories__pill--active:hover,.explore-page .home-categories__pill--active:hover{color:#fff;opacity:.95}.app-page .inner-flex button.button,.explore-page .inner-flex button.button{background:#fff;border-color:#bfdbfe;box-shadow:0 2px 4px rgba(0,91,187,.08);color:#005bbb}.app-page .inner-flex button.button:active,.app-page .inner-flex button.button:hover,.explore-page .inner-flex button.button:active,.explore-page .inner-flex button.button:hover{background:#e6f0ff;border-color:#005bbb;box-shadow:0 4px 6px rgba(0,91,187,.12)}.app-page .algo-name,.explore-page .algo-name{color:#005bbb}.app-page .related-pages-header,.explore-page .related-pages-header{color:#1a1a1a;text-shadow:none}.app-page .no-results,.explore-page .no-results{color:#6b7280}.app-page .footer,.explore-page .footer{background-color:#fff;border-top:1px solid #e5e7eb;color:#1a1a1a}.app-page .footer a,.explore-page .footer a{color:#005bbb}.app-page .footer a:hover,.explore-page .footer a:hover{color:#004a9e}.app-page .about{color:#1a1a1a}.app-page .about a{color:#005bbb}.app-page .about a:hover{color:#004a9e}input::-moz-placeholder{color:var(--text)}input::placeholder{color:var(--text)}.no-results{animation:fadeIn .5s ease-out;color:var(--text-secondary);font-style:italic;padding:2rem;text-align:center}.side-panel-cont{margin-top:30px;width:100%;z-index:2}.side-panel{align-items:center;background:var(--buttons);border:1.5px solid var(--borders);border-radius:20px;box-shadow:5px 12px 12px var(--shadow);font-weight:700;justify-content:center;margin-top:20px;min-width:24%;padding:5px 5px 15px;pointer-events:auto;position:sticky;top:100;transition:all .4s ease 0s;z-index:2}.Side-Buttons button{align-items:center;color:var(--text-primary);display:block;font-family:IBM Plex Sans Condensed,Cantarell,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:24px;justify-content:space-between;margin:auto;padding:2.5%}.Side-Buttons button,.Side-Buttons button:hover{background-color:var(--buttons);border:var(--buttons);cursor:pointer}.Side-Buttons button:hover{color:var(--hover-text)}@media screen and (min-width:1280px){.content .inner-flex>a{flex-basis:calc(33.33333% - 0.66667rem);flex-grow:1;flex-shrink:1;max-width:100%;min-width:220px}}@media screen and (min-width:700px) and (max-width:1280px){.side-panel{width:33.3%}.content .inner-flex>a{flex-basis:calc(50% - 0.5rem);flex-grow:1;flex-shrink:1;max-width:100%;min-width:220px}}@media screen and (max-width:700px){.inner-flex{width:100%}.side-panel{border:none;padding:0;position:static;width:100%}.content .inner-flex>a{flex:1 1 100%;min-width:0}.outer-flex{flex-direction:column;margin:0;width:100%}.inner-flex button.button{border:none;width:100%}.dsa-filter{border:none}#blob-container{padding-bottom:1rem;position:static}}@media screen and (max-width:600px){.title-text{display:none}.side-panel-logo{height:32px;margin:10px auto 5px}}@media screen and (max-width:768px){.search-container{margin:10px}.algo-container{padding:15px}.menu-bar{gap:1rem;padding:.5rem}.menu-bar a{padding:.3rem .6rem}.home-top-row__group{gap:.5rem}.expandable-search--expanded .expandable-search__input{min-width:120px;width:120px}}@keyframes enter{0%{left:-240px;opacity:0}to{left:-20px;opacity:.97}}@keyframes exit{0%{left:-20px;opacity:.97}to{left:-240px;opacity:0}}:root{--transition-speed:0.3s;--card-shadow:0 4px 6px rgba(0,0,0,.1);--hover-shadow:0 8px 12px rgba(0,0,0,.15);--nav-shadow:0 2px 4px rgba(0,0,0,.1)}.search-container{margin:20px;max-width:500px;position:relative;width:100%}.search-container input{border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);box-shadow:var(--card-shadow);font-size:16px;padding:12px 20px 12px 40px;transition:all .3s ease;transition:all var(--transition-speed) ease;width:100%}.search-container input:focus{box-shadow:0 8px 12px rgba(0,0,0,.15);box-shadow:var(--hover-shadow);outline:none;transform:translateY(-1px)}.search-container:before{color:var(--text-secondary);content:"🔍";left:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.algo-container{animation:fadeIn .5s ease-out forwards}[data-theme]{transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease}.button{border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);box-shadow:var(--card-shadow);transition:all .3s ease;transition:all var(--transition-speed) ease}.button:hover{box-shadow:0 8px 12px rgba(0,0,0,.15);box-shadow:var(--hover-shadow);transform:translateY(-2px)}.grid-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0 auto;max-width:1400px;padding:2rem}.creators-section{margin:0 auto;max-width:600px}.creators-grid{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.creator-card{align-items:center;background:var(--buttons);border:1.5px solid var(--borders);border-radius:12px;color:var(--text-primary);display:flex;flex-direction:column;min-width:160px;padding:1rem 1.5rem;text-decoration:none;transition:all .3s ease}.creator-card:hover{border-color:var(--hover-border);box-shadow:0 6px 16px rgba(0,0,0,.15);color:var(--hover-text);transform:translateY(-3px)}.creator-name{font-size:1em;font-weight:700}.creator-role{font-size:.85em;opacity:.7}.explore-dark-root{background:#0a1628;min-height:100vh}[data-theme=dark]{--bg-base:#0b1120;--bg-card:#0f1a2b;--bg-hover:hsla(0,0%,100%,.04);--amber:#f5a623;--amber-dim:rgba(245,166,35,.12);--amber-glow:rgba(245,166,35,.25);--green:#22c55e;--green-dim:rgba(34,197,94,.1);--red:#ef4444;--red-dim:rgba(239,68,68,.1);--blue:#4a9eff;--indigo:#818cf8;--primary:#e8ecf4;--control:#0f1a2b;--border:rgba(245,166,35,.08);--border-subtle:hsla(0,0%,100%,.06);--button:rgba(245,166,35,.08);--button-hover:rgba(245,166,35,.15);--code-toggle-button:rgba(245,166,35,.12);--header:#0b1120;--filter:brightness(120%);--shadow:rgba(0,0,0,.3);--slider:#f5a623;--play-button:#f5a623;--pause-button:#ef4444;--text-secondary:#7b8ba3;--text-muted:#4a5a72;--text-dim:#384558;--radius:10px;--radius-lg:14px}*{-webkit-appearance:none;-moz-appearance:none}.VisualizationMainPage #mainContent,.VisualizationMainPage body{font-family:DM Sans,Segoe UI,sans-serif}.VisualizationMainPage #mainContent{background:var(--bg-base);display:flex;flex:1 1;flex-direction:column;font-family:DM Sans,Segoe UI,sans-serif;overflow:hidden;width:100vw}.VisualizationMainPage #container{background:var(--bg-base);display:flex;flex-direction:column;height:100vh;text-align:left}.algo-navbar{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:0 1px 4px var(--shadow);font-family:DM Sans,Segoe UI,sans-serif;justify-content:space-between;min-height:48px;padding:10px 20px}.algo-navbar,.algo-navbar-logo{align-items:center;display:flex}.algo-navbar-logo{font-size:16px;font-weight:700;gap:10px;letter-spacing:-.3px;text-decoration:none}.algo-navbar-logo,.algo-navbar-logo:visited{color:var(--primary)}.algo-navbar-logo svg,.algo-navbar-logo:hover{color:var(--amber)}.algo-navbar-right{align-items:center;display:flex;gap:12px}.algo-breadcrumb{align-items:center;background:var(--bg-base);border-bottom:1px solid var(--border);color:var(--text-secondary);display:flex;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;gap:8px;padding:8px 20px}.algo-breadcrumb a{color:var(--text-muted);text-decoration:none;transition:color .15s}.algo-breadcrumb a:hover{color:var(--amber)}.algo-breadcrumb-separator{color:var(--text-dim);font-size:11px}.algo-breadcrumb-current{color:var(--primary);font-weight:600}.algo-category-badge{align-items:center;background:var(--amber-dim);border:1px solid rgba(245,166,35,.15);border-radius:20px;color:var(--amber);display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 10px}.VisualizationMainPage #algoControlSection{align-items:center;background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:0 1px 3px var(--shadow);color:var(--primary);display:flex;justify-content:space-between;padding:10px 16px;transition:all .3s ease}.VisualizationMainPage #toggles *{color:var(--primary);margin:0 10px}.VisualizationMainPage #AlgorithmSpecificControls{color:var(--primary);font-family:DM Sans,Segoe UI,sans-serif;font-size:14px;padding:5px;transition:all .4s ease 0s;vertical-align:middle}.VisualizationMainPage input[type=button]{background:var(--amber-dim);border:1px solid rgba(245,166,35,.15);border-radius:8px;box-shadow:none;color:var(--amber);cursor:pointer;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;font-weight:500;margin:4px;padding:7px 14px;transition:all .2s ease}.VisualizationMainPage input[type=button]:hover{background:var(--amber-glow);box-shadow:0 2px 8px rgba(245,166,35,.15);transform:translateY(-1px)}.VisualizationMainPage input[type=button]::-moz-focus-inner{border:0}.VisualizationMainPage input[type=button]:focus{outline:none}.VisualizationMainPage input[type=button]:active:not([disabled]){background:var(--amber-glow);transform:translateY(0)}.VisualizationMainPage input[type=button]:disabled{cursor:not-allowed;opacity:.4;transform:none}.VisualizationMainPage input[type=button][value*=Clear],.VisualizationMainPage input[type=button][value*=Delete],.VisualizationMainPage input[type=button][value*=Remove]{background:var(--red-dim);border-color:rgba(239,68,68,.15);color:var(--red)}.VisualizationMainPage input[type=button][value*=Clear]:hover,.VisualizationMainPage input[type=button][value*=Delete]:hover,.VisualizationMainPage input[type=button][value*=Remove]:hover{background:rgba(239,68,68,.18);box-shadow:0 2px 8px rgba(239,68,68,.15)}.VisualizationMainPage input[type=text]{background:var(--bg-base);border:1px solid var(--border);border-radius:8px;color:var(--primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;padding:7px 10px;transition:border-color .2s}.VisualizationMainPage input[type=text]:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-dim);outline:none}.VisualizationMainPage select{appearance:menulist-button;-moz-appearance:menulist-button;-webkit-appearance:menulist-button;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--primary);cursor:pointer;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;margin:4px;padding:7px 10px}.VisualizationMainPage select:focus{border-color:var(--amber);outline:none}input[type=radio]{appearance:radio;-moz-appearance:radio;-webkit-appearance:radio;margin-right:2px}input[type=radio]+label{color:var(--primary);font-family:DM Sans,Segoe UI,sans-serif;font-size:13px}input[type=radio]:checked+label{background:var(--amber-dim);border:1px solid rgba(245,166,35,.2);border-radius:6px;box-shadow:none;color:var(--amber);font-size:13px;font-weight:600;padding:2px 6px}input[type=checkbox]{appearance:checkbox;-moz-appearance:checkbox;-webkit-appearance:checkbox}.VisualizationMainPage .viewport{display:grid;flex:1 1;grid-template-columns:1fr 340px;grid-template-rows:minmax(0,1fr);overflow:hidden;position:relative}.VisualizationMainPage .viewport.no-sidebar{grid-template-columns:1fr}#canvas{background:var(--bg-base);height:100%;position:sticky;width:100%}.txt-node{color:var(--primary)}.algo-sidebar{background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow-y:auto;scrollbar-color:var(--border) transparent;scrollbar-width:thin}.algo-sidebar::-webkit-scrollbar{width:6px}.algo-sidebar::-webkit-scrollbar-track{background:transparent}.algo-sidebar::-webkit-scrollbar-thumb{background-color:var(--text-dim);border-radius:3px}.algo-sidebar .modal-content{background-color:transparent;border:none;border-radius:0;box-shadow:none;max-height:none;overflow-y:visible;padding:16px}.algo-sidebar .modal-content ul{list-style-type:none;padding-left:0}.algo-sidebar .modal-content li{color:var(--primary);font-size:14px;line-height:1.5em;margin:0 0 12px}@media (max-width:768px){.VisualizationMainPage .viewport{grid-template-columns:1fr}.algo-sidebar{border-left:none;border-top:1px solid var(--border);max-height:50vh}.VisualizationMainPage #mainContent{overflow-x:auto}.algo-breadcrumb{font-size:12px;padding:6px 12px}}.VisualizationMainPage #generalAnimationControlSection{background:var(--bg-card);border-top:1px solid var(--border);transition:all .4s ease 0s}.VisualizationMainPage #GeneralAnimationControls{align-items:center;display:flex;justify-content:center;padding:4px 8px}.VisualizationMainPage #generalAnimationControlSection input[type=button]{background:transparent;border:1px solid var(--border);border-radius:8px;box-shadow:none;color:var(--text-secondary);font-family:DM Sans,Segoe UI,sans-serif;font-size:12px;font-weight:500;margin:3px;padding:6px 12px;transition:all .2s ease}.VisualizationMainPage #generalAnimationControlSection input[type=button]:hover{background:var(--bg-hover);box-shadow:none;color:var(--primary);transform:none}.VisualizationMainPage #generalAnimationControlSection input[type=button].play{background:var(--amber)!important;border:none!important;box-shadow:0 0 12px var(--amber-glow);color:#0b1120!important;font-weight:600!important}.VisualizationMainPage #generalAnimationControlSection input[type=button].play:hover{box-shadow:0 0 20px var(--amber-glow)}.VisualizationMainPage #generalAnimationControlSection input[type=button].pause{background:var(--red)!important;border:none!important;box-shadow:0 0 12px var(--red-dim);color:#fff!important;font-weight:600!important}.VisualizationMainPage #generalAnimationControlSection input[type=button].pause:hover{box-shadow:0 0 20px rgba(239,68,68,.3)}.slider .MuiSlider-root{color:var(--amber)!important}.slider .MuiSlider-thumb{box-shadow:0 0 6px var(--amber-glow)!important}.slider .MuiSlider-track{background:var(--amber)!important}.slider .MuiSlider-rail{background:var(--text-dim)!important}.VisualizationMainPage .divisorLeft{width:15px}.VisualizationMainPage .divisorRight{border-left:1px solid var(--border);width:15px}.modal-tabs{background:var(--bg-base);border:none;border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;overflow:hidden;padding:4px}.modal-tabs .tab-button{align-items:center;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;font-weight:500;gap:6px;margin:0;padding:8px 10px;transition:all .2s ease;white-space:nowrap}.modal-tabs .tab-button.active{background:var(--amber-dim);border:1px solid rgba(245,166,35,.15);color:var(--amber);font-weight:600}.modal-tabs .tab-button:hover:not(.active){background:var(--bg-hover);color:var(--text-secondary)}.tab-text{padding-left:0}.tab-content{padding:8px 0}.about-content{padding:16px}.pseudocode-modal-content{background-color:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);max-height:500px;overflow-y:auto;padding:16px;scrollbar-color:var(--border) transparent;scrollbar-width:thin}.pseudocode-modal-content::-webkit-scrollbar{width:6px}.pseudocode-modal-content::-webkit-scrollbar-track{background:transparent}.pseudocode-modal-content::-webkit-scrollbar-thumb{background-color:var(--text-dim);border-radius:3px}.pseudocode-line{border-left:3px solid transparent;border-radius:2px;color:var(--primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.7;margin:2px 0;padding:3px 8px 3px 12px;transition:background-color .2s;white-space:pre-wrap}.pseudocode-line-highlighted{background-color:var(--green-dim)!important;border-left:3px solid var(--green)!important}.pseudocode-line:hover{background-color:var(--bg-hover);border-radius:2px}.pseudocode-keyword{color:var(--indigo);font-weight:600}.dark-theme .pseudocode-keyword{color:var(--indigo)}.pseudocode-procedure{color:var(--blue);font-weight:600}.dark-theme .pseudocode-procedure{color:var(--blue)}.pseudocode-end{font-weight:600}.dark-theme .pseudocode-end,.pseudocode-end{color:var(--indigo)}.pseudocode-comment{color:var(--green);font-style:italic}.dark-theme .pseudocode-comment{color:var(--green)}.dark-theme .pseudocode-param,.pseudocode-param{color:var(--amber)}.pseudocode-header{justify-content:space-between;margin-bottom:12px}.pseudocode-header,.pseudocode-modal-header,.pseudocode-title{align-items:center;display:flex}.pseudocode-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;margin-bottom:16px;padding-bottom:10px}.pseudocode-modal-header h3{background:none!important;color:var(--primary);font-size:1.2em;margin:0;padding:0}.pseudocode-controls{align-items:center;display:flex;gap:8px}.pseudocode-section-selector{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist;background-color:var(--bg-base);border:1px solid var(--border);border-radius:8px;color:var(--primary);cursor:pointer;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;min-width:180px;padding:6px 8px;transition:all .2s ease}.pseudocode-section-selector:focus,.pseudocode-section-selector:hover{border-color:var(--amber);outline:none}.pseudocode-modal-header button{align-items:center;background-color:var(--amber-dim);border:1px solid rgba(245,166,35,.15);border-radius:8px;color:var(--amber);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px;transition:all .2s ease}.pseudocode-modal-header button:hover{background-color:var(--amber-glow);transform:translateY(-1px)}.modal-content .code-toggle-button{align-items:center;background-color:var(--amber-dim);border:1px solid rgba(245,166,35,.15);border-radius:8px;color:var(--amber);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;position:absolute;right:1.5rem;transition:all .2s ease;width:36px}.code-toggle-button:hover{background-color:var(--amber-glow);box-shadow:0 2px 8px var(--amber-dim);transform:scale(1.1)}.bigo td,.bigo th{border:1px solid var(--border);border-radius:4px;color:var(--primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;min-width:50px;padding:8px 12px}.bigo table{border-collapse:collapse;width:100%}.bigo h4{color:var(--primary);font-size:large;margin:0}.bigo .blur{filter:blur(5px);transition:filter .3s ease}.bigo-content{max-height:500px;overflow-y:auto;padding:12px;scrollbar-color:var(--border) transparent;scrollbar-width:thin}.bigo-content::-webkit-scrollbar{width:6px}.bigo-content::-webkit-scrollbar-track{background:transparent}.bigo-content::-webkit-scrollbar-thumb{background-color:var(--text-dim);border-radius:3px}.bigo-content .button-container{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin:0 0 8px}.bigo-content .button-container button{background-color:var(--amber-dim);border:1px solid rgba(245,166,35,.15);border-radius:8px;color:var(--amber);cursor:pointer;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;font-weight:500;padding:6px 10px;transition:all .2s ease}.bigo-content .button-container button:hover{background-color:var(--amber-glow);transform:translateY(-1px)}.bigo-content table{border:1px solid var(--border);border-collapse:separate;border-radius:var(--radius);border-spacing:0;margin-bottom:12px;overflow:hidden;width:100%}.bigo-content th{background:var(--bg-base);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 10px;text-transform:uppercase}.bigo-content td{border-top:1px solid var(--border);color:var(--primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;overflow-wrap:normal;padding:6px 8px;vertical-align:top;white-space:normal;word-break:normal}.bigo-content td:first-child{font-weight:600;white-space:nowrap}.bigo-content td:nth-child(2){color:var(--green)}.bigo-content td:nth-child(3){color:var(--red)}.bigo-content h4{color:var(--primary);font-family:DM Sans,Segoe UI,sans-serif;margin-bottom:8px;margin-top:12px}.bigo-content .blur{filter:blur(4px);transition:filter .3s ease}.bigo-content .big_o_cell{cursor:pointer}.bigo-content .bigo-hint{color:var(--text-secondary);font-family:DM Sans,Segoe UI,sans-serif;font-size:12px;margin:0;white-space:nowrap}.modal-content .tab-content button{background:var(--button);border:1px solid var(--border);border-radius:8px;color:var(--primary);cursor:pointer;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;font-weight:500;margin:4px;padding:4px 10px}.modal-content .tab-content .button-container{display:flex;justify-content:right;margin-bottom:-5%;margin-top:-1%}.modal-content .tab-content.bigo-content .button-container{justify-content:flex-end;margin:0 0 8px}.modal-content .tab-content button:hover{background:var(--button-hover)}.VisualizationMainPage .vgroup{display:flex;flex-direction:column}.VisualizationMainPage .hgroup{align-items:center;display:flex;justify-content:space-evenly}.VisualizationMainPage .groupChild{margin:5px}.VisualizationMainPage .equation{font-style:italic;margin:-5px 0 5px;text-align:center}.VisualizationMainPage .equation,.VisualizationMainPage .inline-eq{font-family:Georgia,Times New Roman,Times,serif}.VisualizationMainPage #mainContent h1,.VisualizationMainPage #mainContent h2,.VisualizationMainPage #mainContent h3{background:transparent;color:var(--primary);font-family:DM Sans,Segoe UI,sans-serif;padding:0 16px}em{-webkit-text-decoration:bold;text-decoration:bold}.pseudocode-toggle{cursor:pointer;transition:.2s}.pseudocode-toggle:hover{scale:125%}.pseudocode-modal-icon{color:var(--primary);transition:all .2s ease}.pseudocode-modal-icon:hover{color:var(--amber);transform:scale(1.15)}.menu-modal{color:var(--primary);cursor:pointer;height:35px;margin-right:20px;transition:all .2s ease;width:35px}.menu-modal:hover{color:var(--amber);transform:scale(1.1)}.shake{animation:shake .75s cubic-bezier(.455,.03,.515,.955) both;border-color:var(--red)!important;box-shadow:0 0 4px var(--red-dim)!important;filter:brightness(100%)!important;pointer-events:none!important}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@media (max-width:768px){.tab-text{display:none}.modal-tabs .tab-button{padding:6px 10px}.pseudocode-header{align-items:flex-start;flex-direction:column;gap:8px}.pseudocode-section-selector{width:100%}.code-toggle-button{align-self:flex-end;margin-top:-40px}.bigo-content table{font-size:12px}}@media (max-width:576px){.algo-sidebar{max-height:40vh}}
/*# sourceMappingURL=main.19b1f1ec.css.map*/