
.search-flex-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important; 
    width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box !important;
}


.search-flex-container #rtd-search-form,
.search-flex-container .wy-form {
    flex: 1 !important;
    margin-bottom: 0 !important;
}

.theme-switcher-nav {
    display: flex !important;
    background-color: rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px !important;
    padding: 2px !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    height: 32px !important; 
    box-sizing: border-box !important;
    align-items: center !important;
}
html[data-theme="light"] .theme-switcher-nav {
    background-color: rgba(0, 0, 0, 0.06) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.theme-btn {
    background: transparent !important;
    border: none !important;
    outline: none !important;
    width: 26px !important; 
    height: 26px !important;
    font-size: 11px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}


html[data-theme="dark"] .theme-btn:hover { background-color: rgba(255,255,255,0.04) !important; }
html[data-theme="dark"] .theme-btn.active {
    background-color: #2a2d31 !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.4) !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
}


html[data-theme="light"] .theme-btn:hover { background-color: rgba(0,0,0,0.04) !important; }
html[data-theme="light"] .theme-btn.active {
    background-color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.08) !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
}


html[data-theme="dark"] {

    body, 
    .wy-nav-content-wrap, 
    .wy-nav-content, 
    section[data-toggle="wy-nav-shift"],
    .rst-content {
        background-color: #141618 !important;
        background: #141618 !important;
        color: #b0b3b8 !important;
    }
    .rst-content p, .rst-content li, .rst-content div, .rst-content section { color: #b0b3b8 !important; }
    h1, h2, h3, h4, h5, h6 { color: #e2e3e6 !important; font-weight: 600 !important; }

    .wy-nav-side { background-color: #0f1112 !important; box-shadow: none !important; }
    .wy-grid-for-nav { background-color: #141618 !important; }
    .wy-side-nav-search { background-color: #141618 !important; }

    .wy-side-nav-search input[type="text"] {
        background-color: #202224 !important;
        color: #e2e3e6 !important;
        border: 1px solid #3c3f43 !important; 
        box-shadow: none !important;
        outline: none !important;
    }
    
    .wy-side-nav-search input[type="text"]:focus {
        background-color: #202224 !important;
        color: #ffffff !important;
        border: 1px solid #5a6470 !important;
        box-shadow: none !important; 
        outline: none !important;
    }

    .wy-menu-vertical a { color: #9da0a5 !important; border-right: none !important; }
    .wy-menu-vertical a:hover { background-color: #202224 !important; color: #ffffff !important; }
    .wy-menu-vertical li.current a { background-color: #1c212a !important; color: #b4c2d3 !important; }

    .wy-side-nav-search .lang-link {
        height: 22px; line-height: 22px; padding: 0px 8px; font-size: 13px; text-decoration: none; box-sizing: border-box; overflow: hidden; border-radius: 8px;
        background-color: transparent !important; color: #9da0a5 !important; border: 1px solid rgba(255, 255, 255, 0.15) !important;
    }
    .wy-side-nav-search .lang-link:hover { background-color: rgba(255, 255, 255, 0.05) !important; color: #ffffff !important; }
    .wy-side-nav-search .lang-link.selected {
        background-color: rgba(180, 194, 211, 0.15) !important; color: #f4f6f8 !important; border: 1px solid rgba(180, 194, 211, 0.25) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important; 
    }

    a { color: #9bb2c9 !important; }
    a:hover { color: #ccdbe8 !important; text-decoration: none !important; }
    hr { border-top: 1px solid #3c3f43 !important; }

    .btn-neutral, .rst-footer-buttons .btn-neutral {
        background-color: #202224 !important; 
        background: #202224 !important; 
        color: #e2e3e6 !important; 
        border: 1px solid #3c3f43 !important; 
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important; 
        /*padding: 6px 12px !important;*/
        -webkit-tap-highlight-color: transparent !important;
    }
    @media (hover: hover) {
        .btn-neutral:hover, .rst-footer-buttons .btn-neutral:hover {
            background-color: #2d3033 !important; border-color: #5a6470 !important; color: #ffffff !important; text-decoration: none !important; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
        }
    }
    .btn-neutral:active, .rst-footer-buttons .btn-neutral:active, .btn-neutral:focus, .rst-footer-buttons .btn-neutral:focus {
        background-color: #1a3a5f !important; border-color: #4a7bb0 !important; color: #ffffff !important; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5) !important;
    }

    .rst-content code, .rst-content tt, code {
        background-color: #202224 !important; 
        background: #202224 !important; 
        color: #e5989b !important; 
        /*padding: 2px 5px !important; */
        border-radius: 4px !important; 
        /*border: 1px solid #3c3f43 !important; */
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, "Noto Sans KR", "Droid Sans Fallback", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif !important;
    }
    span.mkcode { color: #e5989b !important; background: rgba(229, 152, 155, 0.1) !important; }
    .monotext { background-color: #1c1e21 !important; border: 1px solid #3c3f43 !important; color: #b0b3b8 !important; }
    .monotext-block { background-color: #141618 !important; border: 1px solid #3c3f43 !important; color: #b0b3b8 !important; }
    .rst-content .admonition code { color: #ffffff !important; }

    .rst-content pre, 
    .rst-content pre.literal-block, 
    .rst-content div[class^='highlight'], 
    .rst-content div[class^='highlight'] pre, 
    .example-code-block, 
    pre, 
    code.hljs {
        background-color: #1f1f1f !important; 
        background: #1f1f1f !important;
        border: 1px solid #2d2d2d !important;  
        box-shadow: none !important;            
        border-radius: 0px !important;          
        /*padding: 8px 8px !important;*/
        /*margin: 12px 0 !important;*/
    }

    pre code, 
    code.hljs, 
    .hljs, 
    .rst-content pre code, 
    .rst-content div[class^='highlight'] pre code {
        background-color: transparent !important; 
        background: transparent !important; 
        color: #dcdcdc !important; 
        /*font-size: 88% !important; */
        /*line-height: 1.6 !important; */
        text-shadow: none !important; 
        border: none !important; 
        /*padding: 0 !important; */
        border-radius: 0px !important;
        font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Courier, "Noto Sans KR", "Droid Sans Fallback", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif !important;
    }
    
    
    .hljs-string, .hljs-meta .hljs-string, .hljs-meta-string, .hljs-symbol, .hljs-bullet { color: #9cdcfe !important; }
    .hljs-meta, .hljs-meta .hljs-keyword { color: #c66 !important; }
    .hljs-keyword, .hljs-selector-tag, .hljs-type { color: #569cd6 !important; /*font-weight: 600 !important;*/ }
    .hljs-title, .hljs-title.function_, .hljs-function, .hljs-attr { color: #dcdcaa !important; }
    .hljs-title.class_, .hljs-class, .hljs-built_in { color: #45ad98 !important; }
    .hljs-number, .hljs-literal, .hljs-variable { color: #b5cea8 !important; }
    .hljs-comment, .hljs-quote { color: #6a9955 !important; font-style: italic !important; }
    .hljs-operator, .hljs-punctuation { color: #d4d4d4 !important; }

    .rst-content table.docutils, .wy-table-responsive table { background-color: #141618 !important; border-collapse: collapse !important; color: #b0b3b8 !important; }
    .rst-content table.docutils th, .wy-table-responsive table th { background-color: #202224 !important; color: #ffffff !important; border: 1px solid #3c3f43 !important; }
    .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td, .wy-table-backed, .wy-table-odd td, .wy-table-striped tr:nth-child(2n-1) td, .rst-content table.docutils tr:nth-child(odd) td, .wy-table-responsive table tr:nth-child(odd) td {
        background-color: #141618 !important; background: #141618 !important; color: #b0b3b8 !important; border: 1px solid #3c3f43 !important;
    }
    .rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td *, .wy-table-odd td *, .wy-table-striped tr:nth-child(2n-1) td * { color: #b0b3b8 !important; }
    .rst-content table.docutils tr:nth-child(even) td, .wy-table-responsive table tr:nth-child(even) td { background-color: #1c1e21 !important; color: #b0b3b8 !important; border: 1px solid #3c3f43 !important; }

    .rst-content .admonition { color: #b0b3b8 !important; border: 1px solid #2d3033 !important; border-radius: 4px !important; overflow: hidden !important; background-color: #141618 !important; }
/*
    .rst-content .admonition .admonition-title { font-weight: bold !important; padding: 8px 12px !important; margin: 0 !important; font-size: 0.95em !important; border-bottom: 1px solid #2d3033 !important; }
    .rst-content .admonition.note, .rst-content .admonition.todo { border-left: 6px solid #2a4d75 !important; }
*/    
    .rst-content .admonition.note .admonition-title, .rst-content .admonition.todo .admonition-title { background-color: #141e29 !important; color: #9bb2c9 !important; }
/*    
    .rst-content .admonition.warning, .rst-content .admonition.caution, .rst-content .admonition.attention { border-left: 6px solid #733f13 !important; }
*/    
    .rst-content .admonition.warning .admonition-title, .rst-content .admonition.caution .admonition-title, .rst-content .admonition.attention .admonition-title { background-color: #24180e !important; color: #f1b382 !important; }
/*    
    .rst-content .admonition.danger, .rst-content .admonition.error { border-left: 6px solid #732e27 !important; }
*/
    .rst-content .admonition.danger .admonition-title, .rst-content .admonition.error .admonition-title { background-color: #241110 !important; color: #ffb4ab !important; }
/*    
    .rst-content .admonition.tip, .rst-content .admonition.hint, .rst-content .admonition.important { border-left: 6px solid #193e20 !important; }
*/    
    .rst-content .admonition.tip .admonition-title, .rst-content .admonition.hint .admonition-title, .rst-content .admonition.important .admonition-title { background-color: #0f1a11 !important; color: #a3e0a8 !important; }
/*    
    .rst-content .admonition p { color: #b0b3b8 !important; margin: 10px 12px !important; }
    */

    .args-separator-delimiter { color: #b0b3b8 !important; }

    .func-section .func-header { border-top: 3px solid #2a4d75 !important; background-color: #1d1f21 !important; }
    .func-section .interface-header { border-top: 3px solid #193e20 !important; background-color: #1d1f21 !important; }
    .func-section .func-header > div:last-child, .func-section .interface-header > div:last-child { color: #8b949e !important; }
    .func-section .func-argument-header > span, .func-section .func-return-header > span { border-left: 3px solid #6272a4 !important; color: #6272a4 !important; }
    .func-section .func-return, .func-section .func-arguments, .func-section .func-arg-type { color: #9bb2c9 !important; } 
    .func-section .func-name { color: #e2e3e6 !important; }
    .func-section .func-arg-name { color: #a2afc2 !important; }
    .func-section .func-parenthesis { color: #b0b3b8 !important; }
    .func-section .func-arg-default { color: #8b949e !important; }
    .func-section .func-arg-dir { color: #bd93f9 !important; border: 1px solid #6272a4 !important; background: rgba(98, 114, 164, 0.1) !important; }

    .parameters-section .parameter-container { border-top: 1px solid #3c3f43 !important; border-left: 1px solid #3c3f43 !important; border-right: 1px solid #3c3f43 !important; color: #b0b3b8 !important; }
    .parameters-section .parameter-container:not(.parameter-container-header):nth-child(odd) { background-color: #1c1e21 !important; background: #1c1e21 !important; color: #b0b3b8 !important; }
    .parameters-section .parameter-container:not(.parameter-container-header):nth-child(odd) * { color: #b0b3b8 !important; }
    .parameters-section .parameter-container:nth-child(even) { background-color: #141618 !important; background: #141618 !important; color: #b0b3b8 !important; }
    .parameters-section .parameter-container:nth-child(even) * { color: #b0b3b8 !important; }
    .parameters-section .parameter-container .parameter-key, .parameters-section .parameter-container .parameter-default/*, .parameters-section .parameter-container .parameter-opt*/ { border-right: 1px solid #3c3f43 !important; }
    .parameters-section .parameter-container .parameter-key > span { color: #e2e3e6 !important; }
    .parameters-section .parameter-container:last-child { border-bottom: 1px solid #3c3f43 !important; }

    .typedef-section { border-top: 3px solid #733f13 !important; background-color: #1d1f21 !important; }
    .typedef-section .typedef-header .typedef-keyword { color: #c66 !important; }
    .typedef-section .typedef-header .typedef-type { color: #e2e3e6 !important; }
    .typedef-section .typedef-header .typedef-name { color: #d4d6da !important; font-weight: 600 !important; } 
    .typedef-section .typedef-parenthesis { color: #b0b3b8 !important; }
    .typedef-section .typedef-arg-name { color: #d4d6da !important; } 
    .typedef-section .typedef-header .typedef-headerfile { color: #8b949e !important; }
    
    .typedef-section .typedef-header .typedef-type,
    .typedef-section .typedef-return, 
    .typedef-section .typedef-arguments, 
    .typedef-section .typedef-arg-type { 
        color: #a8bda1 !important;
    }    

    .struct-section .struct-header { border-top: 3px solid #732e27 !important; background-color: #1d1f21 !important; }
    .struct-section .struct-keyword { color: #c66 !important; }
    .struct-section .struct-name { color: #9bb2c9 !important; } 
    .struct-section .struct-header { color: #8b949e !important; }
    .struct-section .struct-container { border-top: 1px solid #3c3f43 !important; border-left: 1px solid #3c3f43 !important; border-right: 1px solid #3c3f43 !important; }
    .struct-section .struct-container .struct-item-type { border-right: 1px solid #3c3f43 !important; color: #9bb2c9 !important; } 
    .struct-section .struct-container .struct-item-type * { color: #9bb2c9 !important; } 
    .struct-section .struct-container .struct-item-type-name {  color: #9bb2c9 !important; } 
    .struct-section .struct-container .struct-item-type-name * { color: #9bb2c9 !important; } 
    /*.struct-section .struct-container .struct-item-name { border-right: 1px solid #3c3f43 !important; color: #e2e3e6 !important; }*/
    .struct-section .struct-container .struct-item-name > span { color: #e2e3e6 !important; }
    .struct-section .struct-container:not(.struct-container-header):nth-child(odd) { background-color: #1c1e21 !important; color: #b0b3b8 !important; }
    .struct-section .struct-container:not(.struct-container-header):nth-child(odd) * { color: #b0b3b8 !important; }
    .struct-section .struct-container:not(.struct-container-header):nth-child(odd) .struct-item-type, .struct-section .struct-container:not(.struct-container-header):nth-child(odd) .struct-item-type * { color: #9bb2c9 !important; } 
    .struct-section .struct-container:not(.struct-container-header):nth-child(odd) .struct-item-name { color: #e2e3e6 !important; } 
    .struct-section .struct-container:nth-child(even) { background-color: #141618 !important; color: #b0b3b8 !important; }
    .struct-section .struct-container:nth-child(even) * { color: #b0b3b8 !important; }
    .struct-section .struct-container:nth-child(even) .struct-item-type, .struct-section .struct-container:nth-child(even) .struct-item-type * { color: #9bb2c9 !important; } 
    .struct-section .struct-container:nth-child(even) .struct-item-name { color: #e2e3e6 !important; }
    .struct-section .struct-container:last-child { border-bottom: 1px solid #3c3f43 !important; }

    .floating-sub-nav { background: #181a1b !important; border: 1px solid #3c3f43 !important; box-shadow: 0 4px 166px rgba(0,0,0,0.5) !important; }
    .floating-sub-nav h4 { color: #9bb2c9 !important; } 
    #dynamic-toc-list li a { color: #b0b3b8 !important; border-bottom: 1px solid #202224 !important; }
    .sort-tabs { border-bottom: 1px solid #3c3f43 !important; }
    .sort-tab { background: #202224 !important; border: 1px solid #3c3f43 !important; color: #b0b3b8 !important; }
    .sort-tab.active { background: #2980b9 !important; color: white !important; border-color: #2980b9 !important; }
    .desktop-lang-dropdown-trigger { background-color: #202224 !important; color: #b0b3b8 !important; border: 1px solid #3c3f43 !important; }
    .desktop-lang-dropdown-menu-inner { background-color: #181a1b !important; border: 1px solid #3c3f43 !important; }
    .desktop-lang-dropdown-menu-inner a { color: #b0b3b8 !important; }
    .desktop-lang-dropdown-menu-inner a:hover { background-color: #202224 !important; color: #9bb2c9 !important; } 

    .wy-menu-vertical li.current, .wy-menu-vertical li.current > a, .wy-menu-vertical li a:focus, .wy-menu-vertical li a:active {
        border-left: none !important; 
        border-top: none !important; 
        border-bottom: none !important; 
        box-shadow: none !important; 
    }
    
    .wy-menu-vertical li.toctree-l1.current > a {
        border-top: 1px solid transparent !important; 
        border-bottom: 1px solid transparent !important; 
    }
    
    .wy-menu-vertical li.current > a, .wy-menu-vertical li.on a {
    	background: #141618 !important;
    }
    
    /*.wy-breadcrumbs { border-bottom: 1px solid #202224 !important; }*/
    .wy-nav-top, .wy-nav-side, [data-toggle="wy-nav-shift"] { border: none !important; box-shadow: none !important; }
    .wy-menu-vertical a:focus { outline: none !important; }

    @media screen and (max-width: 767px) {
        .wy-nav-top a, .wy-nav-top a *, .wy-nav-top i { color: #f1f2f5 !important; font-weight: 700 !important; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6) !important; }
        .rst-content h1, .rst-content h2, .rst-content h3, h1, h2, h3 { color: #f1f2f5 !important; font-weight: 700 !important; }

        .parameters-section .parameter-container .parameter-desc { border-top: 1px solid #3c3f43 !important; }

        .struct-section .struct-container .struct-item-desc { color: #b0b3b8 !important; }


    }

    @media screen and (min-width: 768px) {
        .struct-section .struct-container .struct-item-type-name { border-right: 1px solid #3c3f43 !important; color: #e2e3e6 !important; }
        .parameters-section .parameter-container .parameter-opt { border-right: 1px solid #3c3f43 !important; }
    }


    #mkdocs-search-results li { color: #b0b3b8 !important; border-bottom: 1px solid #202224 !important; padding: 16px 0 !important; list-style: none !important; }
    #mkdocs-search-results li a { color: #9bb2c9 !important; font-size: 1.15em !important; font-weight: 600 !important; text-decoration: none !important; }
    #mkdocs-search-results li a:hover { color: #ccdbe8 !important; text-decoration: underline !important; }
    #mkdocs-search-results p { color: #9da0a5 !important; margin-top: 6px !important; }
    .search-guide-text, .loading-text { color: #9da0a5 !important; }
    #mkdocs-search-results mark, .rst-content mark, mark {
        background-color: rgba(155, 178, 201, 0.25) !important; color: #ffffff !important; border-radius: 3px !important; padding: 1px 4px !important; margin: 0 2px !important; font-weight: 600 !important;
    }

    .search-highlight {
      background-color: #ff9b5e !important;
      color: #141618 !important;
    }
}