:root{--primary:#10b981;--primary-dark:#059669;--secondary:#3b82f6;--danger:#ef4444;--warning:#f59e0b;--success:#22c55e;--dark:#1f2937;--light:#f9fafb;--gray:#6b7280;--text:#1f2937;--border:#e5e7eb;--shadow:0 1px 3px 0 rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--dark);background:var(--light);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.logo{display:flex;align-items:center;gap:12px;text-decoration:none;transition:transform .2s;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.logo:hover{transform:translateY(-2px)}.logo:hover .logo-icon{animation:cookbook-bounce .5s ease-in-out}@keyframes cookbook-bounce {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
}.logo-icon{width:40px;height:40px;flex-shrink:0;transition:transform .3s ease}.logo-text{display:flex;flex-direction:column;line-height:1;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.logo-name{font-size:28px;font-weight:bold;color:var(--dark);writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;white-space:nowrap!important}.logo-name span{color:var(--primary);writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.logo-subtitle{font-size:12px;color:var(--gray);writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;white-space:nowrap!important;margin-top:2px;font-weight:500}.nav{display:flex;gap:32px;align-items:center;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.nav a:not(.btn-primary):not(.btn-secondary) {color:var(--gray);text-decoration:none;font-weight:500;transition:all .3s ease;padding:8px 16px;border-radius:8px;position:relative;overflow:hidden;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;white-space:nowrap!important}.nav a:not(.btn-primary):not(.btn-secondary)::before {content:'';position:absolute;top:0;left:0;width:0;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.1));transition:width .3s ease;z-index:-1}.nav a:not(.btn-primary):not(.btn-secondary):hover {color:var(--primary);transform:translateY(-2px)}.nav a:not(.btn-primary):not(.btn-secondary):hover::before {width:100%}.nav a.active:not(.btn-primary):not(.btn-secondary) {color:var(--primary);background:rgba(16,185,129,.1);font-weight:600}.nav a[href="/about"]:not(.btn-primary):not(.btn-secondary)::after,
.nav a[href="/contact"]:not(.btn-primary):not(.btn-secondary)::after {content:'→';margin-left:4px;opacity:0;transform:translateX(-10px);transition:all .3s ease;display:inline-block}.nav a[href="/about"]:not(.btn-primary):not(.btn-secondary):hover::after,
.nav a[href="/contact"]:not(.btn-primary):not(.btn-secondary):hover::after {opacity:1;transform:translateX(0)}.language-selector{position:relative;margin-left:20px;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.language-btn{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;font-size:14px;color:var(--dark);transition:all .2s;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;white-space:nowrap!important}.language-btn:hover{border-color:var(--primary)}.globe-icon{flex-shrink:0}.language-current{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important}.chevron-icon{flex-shrink:0;transition:transform .2s}.language-selector.active .chevron-icon{transform:rotate(180deg)}.language-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;min-width:240px;max-width:300px}.language-selector.active .language-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.language-dropdown-content{max-height:400px;overflow-y:auto;padding:8px 0}.language-options{list-style:none;margin:0;padding:0}.language-option{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:background .2s;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;white-space:nowrap!important}.language-option:hover{background:var(--light)}.language-option.selected{background:var(--primary-light);color:var(--primary)}.option-text{flex:1;font-size:14px}.check-icon{flex-shrink:0;color:var(--primary)}.language-divider{height:1px;background:var(--border);margin:8px 0}.btn-primary{background:var(--primary);color:#fff!important;padding:8px 16px;border-radius:6px;text-decoration:none;font-weight:500;transition:background .2s;border:none;cursor:pointer;display:inline-block}.btn-primary:hover{background:var(--primary-dark);color:#fff!important}.btn-secondary{background:#fff;color:var(--dark);padding:8px 16px;border-radius:6px;text-decoration:none;font-weight:500;transition:all .2s;border:1px solid var(--border);cursor:pointer;display:inline-block}.btn-secondary:hover{background:var(--light);border-color:var(--gray)}.nav .btn-primary,.nav a.btn-primary,a.btn-primary{color:#fff!important}.nav .btn-secondary,.nav a.btn-secondary,a.btn-secondary{color:var(--dark)!important}button.btn-primary,input.btn-primary{color:#fff!important}.hero{background:linear-gradient(135deg,#10b981 0%,#3b82f6 100%);color:#fff;padding:80px 0;text-align:center}.hero h1{font-size:48px;margin-bottom:16px;font-weight:700}.hero p{font-size:20px;opacity:.9;margin-bottom:40px}.search-box{max-width:600px;margin:0 auto;position:relative}.search-input{width:100%;padding:16px 20px;font-size:18px;border:none;border-radius:8px;box-shadow:var(--shadow-lg)}.search-input:focus{outline:none;box-shadow:0 0 0 3px rgba(16,185,129,.2)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:60px}.stat-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);padding:24px;border-radius:8px;text-align:center}.stat-card-primary{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.3);transform:scale(1.1)}.stat-card-primary .stat-number{color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,.5)}.stat-number{font-size:36px;font-weight:bold;display:block}.stat-label{font-size:14px;opacity:.8}.section{padding:60px 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.section-title{font-size:28px;font-weight:700}.section-subtitle{color:var(--gray);margin-top:8px}.server-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.server-card{background:#fff;border-radius:8px;padding:24px;box-shadow:var(--shadow);transition:transform .2s , box-shadow .2s;position:relative}.server-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.server-header{display:flex;align-items:start;gap:16px;margin-bottom:16px}.server-logo{width:48px;height:48px;border-radius:8px;object-fit:contain;background:var(--light);padding:2px}.server-info{flex:1}.server-name{font-size:18px;font-weight:600;color:var(--dark);text-decoration:none;display:block}.server-name:hover{color:var(--primary)}.server-category{font-size:14px;color:var(--gray)}.server-description{color:var(--gray);font-size:14px;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.server-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-health{background:#dcfce7;color:#166534}.badge-time{background:#dbeafe;color:#1e40af}.badge-stars{background:#fef3c7;color:#92400e}.badge-trending{background:#fee2e2;color:#991b1b}.health-score{position:absolute;top:16px;right:16px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:14px;color:#fff}.health-high{background:var(--success)}.health-medium{background:var(--secondary)}.health-low{background:var(--warning)}.health-critical{background:var(--danger)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.category-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center;text-decoration:none;color:var(--dark);transition:all .2s}.category-card:hover{border-color:var(--primary);color:var(--primary)}.category-icon{font-size:32px;margin-bottom:8px}.category-name{font-weight:600;display:block}.category-count{font-size:14px;color:var(--gray)}.recipe-card{background:#fff;border-radius:8px;padding:24px;box-shadow:var(--shadow)}.recipe-title{font-size:20px;font-weight:600;margin-bottom:8px}.recipe-servers{display:flex;align-items:center;gap:8px;margin:16px 0}.recipe-server-icon{width:32px;height:32px;border-radius:4px;background:var(--light);object-fit:contain;padding:2px}.recipe-arrow{color:var(--gray)}.recipe-time{color:var(--gray);font-size:14px}.footer{background:var(--dark);color:#fff;padding:40px 0;margin-top:80px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px}.footer-section h3{margin-bottom:16px}.footer-section h4{margin-bottom:12px;font-size:16px;font-weight:600}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:8px}.footer-section a{color:#9ca3af;text-decoration:none;display:block;padding:4px 0}.footer-section a:hover{color:#fff}.footer-stats{margin-top:12px;font-size:14px;line-height:1.6;color:#d1d5db}.footer-stats strong{font-size:20px;color:var(--primary);font-weight:bold}.footer-stats small{display:block;margin-top:4px;color:#9ca3af}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #374151;text-align:center;color:#9ca3af;font-size:14px}.user-menu{position:relative}.user-menu-btn{background:var(--light);border:1px solid var(--border);padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.user-menu-btn:hover{background:#fff;border-color:var(--primary)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);min-width:200px;display:none;z-index:100}.user-dropdown.active{display:block}.user-dropdown a{display:block;padding:12px 16px;color:var(--dark);text-decoration:none;transition:background .2s}.user-dropdown a:hover{background:var(--light)}.user-dropdown hr{margin:8px 0;border:none;border-top:1px solid var(--border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:none;align-items:center;justify-content:center}.modal-overlay.active{display:flex}.modal{background:#fff;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:32px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:24px}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;padding:4px}.rating-input{display:flex;gap:8px;margin-bottom:16px}.rating-input label{flex:1;font-size:14px;color:var(--gray)}.star-rating{display:flex;gap:4px}.star-rating input{display:none}.star-rating label{cursor:pointer;font-size:20px;color:#ddd;transition:color .2s}.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {color:#fbbf24}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:4px}.mobile-menu-btn span{display:block;width:24px;height:2px;background:var(--dark);transition:all .3s}.mobile-menu-btn.active span:nth-child(1) {transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2) {opacity:0}.mobile-menu-btn.active span:nth-child(3) {transform:rotate(-45deg) translate(5px,-5px)}.bottom-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:none;opacity:0;transition:opacity .3s}.bottom-sheet-overlay.active{display:block;opacity:1}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;padding:24px;max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s;z-index:1000}.bottom-sheet.active{transform:translateY(0)}.bottom-sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.bottom-sheet-title{font-size:18px;font-weight:600}.bottom-sheet-close{background:none;border:none;font-size:24px;cursor:pointer;padding:4px}.bottom-sheet-options{display:flex;flex-direction:column;gap:8px}.bottom-sheet-option{padding:16px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;text-align:left;font-size:16px}.bottom-sheet-option:hover{background:var(--light);border-color:var(--primary)}.bottom-sheet-option.selected{background:#dcfce7;border-color:var(--primary);font-weight:500}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:16px}.custom-select-trigger::after{content:'▼';font-size:12px;color:var(--gray)}.custom-select.inline{width:auto;display:inline-block}.custom-select.inline .custom-select-trigger{width:auto;padding:6px 24px 6px 8px;border:none;background:none;font-size:14px;color:var(--gray);position:relative;padding-right:20px;border-right:1px solid var(--border)!important;margin-right:10px}.custom-select.inline .custom-select-trigger::after{position:absolute;right:8px;top:50%;transform:translateY(-50%)}img[align="left"]{float:left;margin-right:16px;margin-bottom:8px}img[align="right"]{float:right;margin-left:16px;margin-bottom:8px}img[align="left"]+h1,img[align="left"]+h2,img[align="left"]+h3,img[align="left"]+h4,img[align="left"]+h5,img[align="left"]+h6,img[align="right"]+h1,img[align="right"]+h2,img[align="right"]+h3,img[align="right"]+h4,img[align="right"]+h5,img[align="right"]+h6{margin-top:0}h1,h2,h3,h4,h5,h6{overflow:auto}h2:not(.readme-content h2) {position:relative;padding-bottom:12px;margin-bottom:24px}h2:not(.readme-content h2)::after {content:'';position:absolute;bottom:0;left:0;width:60px;height:3px;background:var(--primary);border-radius:2px}img{max-width:100%!important;height:auto;display:inline-block}@media (min-width:768px) and (max-width:1024px){.container{padding:0 24px}.header-inner{height:60px}.logo-icon{width:38px;height:38px}.logo-name{font-size:26px}.logo-subtitle{font-size:11px}.nav a{padding:8px 16px;font-size:15px}.language-selector{position:relative}.language-dropdown{right:0;min-width:200px}.sidebar{display:none!important}.sidebar-section{display:none!important}.sidebar .category-section,.sidebar .popular-tags-section,.sidebar-section h3{display:none!important}.mobile-category-select{display:block;margin-bottom:20px}.server-grid{grid-template-columns:repeat(2,1fr);gap:16px}.category-grid{grid-template-columns:repeat(3,1fr);gap:12px}.stats{grid-template-columns:repeat(4,1fr);gap:16px}.hero h1{font-size:42px}.hero p{font-size:18px}.footer-content{grid-template-columns:repeat(2,1fr);gap:32px}}@media (max-width:767px){.hero h1{font-size:36px}.logo-icon{width:36px;height:36px}.logo-name{font-size:24px}.logo-subtitle{font-size:11px}.mobile-menu-btn{display:flex}.nav{position:fixed;top:64px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .3s;z-index:99}.nav.active{transform:translateX(0)}.nav a{padding:12px 0;border-bottom:1px solid var(--border)}.nav a:last-child{border-bottom:none;margin-top:12px}.sidebar{display:none!important}.sidebar-section{display:none!important}.sidebar .category-section,.sidebar .popular-tags-section,.sidebar-section h3{display:none!important}.mobile-category-select{display:block;margin-bottom:16px}.stats{grid-template-columns:repeat(2,1fr)}.server-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.footer-content{grid-template-columns:1fr;text-align:center}}.server-header-section{background:linear-gradient(135deg,#f9fafb 0%,#e5e7eb 100%);padding:40px 0;border-bottom:1px solid var(--border)}.server-header-content{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-bottom:32px}.server-header-left{display:flex;gap:24px;align-items:start;flex:1}.server-logo-large{width:80px;height:80px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;box-shadow:var(--shadow)}.server-header-left h1{font-size:36px;margin-bottom:8px}.server-description-header{font-size:18px;color:var(--gray);margin-bottom:16px}.server-meta{display:flex;gap:16px;font-size:14px;color:var(--gray)}.server-meta a{color:var(--primary);text-decoration:none}.health-score-large{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-lg)}.score-number{font-size:48px;font-weight:bold}.score-label{font-size:14px}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;margin-bottom:24px;background:#fff;padding:24px;border-radius:8px;box-shadow:var(--shadow)}.stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.stat-icon{font-size:24px;margin-bottom:8px}.stat-value{font-size:20px;font-weight:bold;color:var(--dark)}.stat-label{font-size:14px;color:var(--gray)}.action-buttons{display:flex;gap:16px;flex-wrap:wrap}.btn-secondary{background:#fff;color:var(--dark);border:1px solid var(--border);padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn-secondary:hover{background:var(--light);border-color:var(--primary)}.detail-content{display:grid;grid-template-columns:1fr 320px;gap:40px;margin-top:40px}.detail-section{background:#fff;border-radius:8px;padding:32px;margin-bottom:24px;box-shadow:var(--shadow)}.detail-section h2{font-size:24px;margin-bottom:24px}.code-block{background:var(--dark);color:#fff;padding:16px 20px;border-radius:6px;font-family:monospace;margin-bottom:16px;position:relative}.ai-content{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:16px;margin-top:16px}.ai-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:16px;margin-top:16px}.env-vars-table{display:flex;flex-direction:column;gap:16px}.env-var-item{border:1px solid var(--border);border-radius:6px;padding:16px}.env-var-name{display:flex;align-items:center;gap:8px;margin-bottom:8px}.env-var-name code{background:var(--light);padding:4px 8px;border-radius:4px;font-family:monospace}.badge-required{background:var(--danger);color:#fff;font-size:12px;padding:2px 8px;border-radius:4px}.env-var-desc{color:var(--gray);margin-bottom:8px}.env-var-example{font-size:14px;color:var(--gray)}.tools-list{display:flex;flex-direction:column;gap:16px}.tool-item{border-left:3px solid var(--primary);padding-left:16px}.tool-item h4{margin-bottom:4px}.tool-item p{color:var(--gray)}.compatibility-table{display:flex;flex-direction:column;gap:12px}.compatibility-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid var(--border);border-radius:6px}.client-info{display:flex;align-items:center;gap:8px}.badge-official{background:var(--primary);color:#fff;font-size:12px;padding:2px 8px;border-radius:4px}.compatibility-status{font-size:14px}.status-verified{color:var(--success)}.status-works{color:var(--secondary)}.status-issues{color:var(--warning)}.status-incompatible{color:var(--danger)}.status-unknown{color:var(--gray)}.detail-sidebar{position:sticky;top:80px;height:fit-content}.sidebar-section{background:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow)}.sidebar-section h3{font-size:18px;margin-bottom:16px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.github-info{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;font-size:14px}.info-label{color:var(--gray)}.info-value{font-weight:500}.similar-servers{display:flex;flex-direction:column;gap:12px}.similar-server-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:6px;text-decoration:none;color:var(--dark);transition:all .2s}.similar-server-item:hover{border-color:var(--primary);background:var(--light)}.similar-server-item img{width:40px;height:40px;border-radius:6px;object-fit:contain;background:var(--light)}.similar-server-name{font-weight:500;margin-bottom:2px}.similar-server-score{font-size:12px;color:var(--gray)}@media (max-width:1024px){.detail-content{grid-template-columns:1fr}.detail-sidebar{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}}@media (max-width:768px){.server-header-content{flex-direction:column}.quick-stats{grid-template-columns:repeat(2,1fr)}.action-buttons{width:100%}.action-buttons>*{flex:1}}.readme-content{font-size:16px;line-height:1.8;color:var(--text);max-width:100%;overflow-x:hidden;overflow-wrap:break-word;word-wrap:break-word;margin:0}.readme-content *{max-width:calc(100vw - 40px)!important;overflow-wrap:break-word;word-wrap:break-word}.readme-content h1,.readme-content h2,.readme-content h3,.readme-content h4,.readme-content h5,.readme-content h6{margin-top:24px;margin-bottom:16px;font-weight:600;color:var(--dark)}.readme-content h1{font-size:28px;border-bottom:1px solid var(--border);padding-bottom:8px}.readme-content h2{font-size:24px}.readme-content h3{font-size:20px}.readme-content h4{font-size:18px}.readme-content p{margin-bottom:16px}.readme-content pre{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;padding:16px;overflow-x:auto;max-width:calc(100vw - 40px)!important;margin-bottom:16px;font-family:'Consolas','Monaco','Courier New',monospace;font-size:14px;line-height:1.5}.readme-content .language-bash,.readme-content .language-sh{color:#032f62}.readme-content .language-javascript,.readme-content .language-js,.readme-content .language-typescript,.readme-content .language-ts{color:#d73a49}.readme-content .language-python,.readme-content .language-py{color:#6f42c1}.readme-content .language-json{color:#005cc5}.readme-content code{background:rgba(175,184,193,.2);padding:2px 4px;border-radius:3px;font-family:'Consolas','Monaco','Courier New',monospace;font-size:14px}.readme-content pre code{background:none;padding:0}.readme-content ul,.readme-content ol{margin-bottom:16px;padding-left:32px}.readme-content li{margin-bottom:4px}.readme-content blockquote{border-left:4px solid var(--primary);padding-left:16px;margin:16px 0;color:var(--gray)}.readme-content table{border-collapse:collapse;width:100%;max-width:calc(100vw - 40px)!important;margin-bottom:16px;overflow-x:auto;display:block}.readme-content table th,.readme-content table td{border:1px solid var(--border);padding:8px 12px}.readme-content table th{background:var(--light);font-weight:600}.readme-content div[align="center"],.readme-content p[align="center"],.readme-content center{text-align:center}.readme-content sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline;bottom:-.25em}.readme-content sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-.5em}.readme-content img{max-width:calc(100vw - 40px)!important;width:auto;height:auto!important;border-radius:4px;display:inline-block;margin:16px 0;object-fit:contain;vertical-align:middle}.readme-content img[src*="shields.io"],.readme-content img[src*="badge"]{display:inline!important;width:auto!important;margin:0 8px 4px 0!important}.readme-content img[height="0"]{display:none}.readme-content a{color:var(--primary);text-decoration:none}.readme-content a:hover{text-decoration:underline}.readme-content hr{border:none;border-top:1px solid var(--border);margin:24px 0}.no-readme{color:var(--gray);font-style:italic;text-align:center;padding:40px 20px}.readme-content .markdown-alert{padding:16px;margin-bottom:16px;border-radius:6px;border:1px solid}.readme-content .markdown-alert-title{font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px}.readme-content .markdown-alert-note{background-color:#e3f2fd;border-color:#1976d2;color:#0d47a1}.readme-content .markdown-alert-tip{background-color:#e8f5e9;border-color:#388e3c;color:#1b5e20}.readme-content .markdown-alert-important{background-color:#f3e5f5;border-color:#7b1fa2;color:#4a148c}.readme-content .markdown-alert-warning{background-color:#fff3e0;border-color:#f57c00;color:#e65100}.readme-content .markdown-alert-caution{background-color:#ffebee;border-color:#d32f2f;color:#b71c1c}.readme-content{all:initial;display:block;font:400 16px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif!important;color:#111!important;background-color:#fdfdfd!important;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:'kern' 1;-moz-font-feature-settings:'kern' 1;-o-font-feature-settings:'kern' 1;font-feature-settings:'kern' 1;font-kerning:normal;padding:0!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:visible!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.readme-content *{all:unset;display:revert;box-sizing:border-box;max-width:100%!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.readme-content,.readme-content *{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol'!important;color:#24292e!important;line-height:1.5!important}@media only screen and (max-width:600px){.readme-content{padding:0!important}.readme-content main,.readme-content .markdown-body{padding:0!important}}.readme-content main,.readme-content .markdown-body{display:block!important;margin:0!important;max-width:100%!important;border:none!important;padding:0!important;border-radius:0!important;background-color:transparent!important}.readme-content hr{display:block!important;color:#bbb!important;background-color:#bbb!important;height:1px!important;flex:0 1 auto!important;margin:1em 0!important;padding:0!important;border:none!important}.readme-content a{color:#0366d6!important;text-decoration:none!important;background-color:transparent!important;cursor:pointer!important}.readme-content a:visited{color:#0366d6!important}.readme-content a:hover{color:#0366d6!important;text-decoration:underline!important}.readme-content pre{display:block!important;background-color:#f6f8fa!important;border-radius:3px!important;font-size:85%!important;line-height:1.45!important;overflow:hidden!important;padding:16px!important;margin-top:0!important;margin-bottom:16px!important;white-space:pre-wrap!important;word-wrap:break-word!important;word-break:break-word!important;max-width:100%!important;box-sizing:border-box!important}.readme-content code{display:inline!important;background-color:rgba(27,31,35,.05)!important;border-radius:3px!important;font-size:85%!important;margin:0!important;word-wrap:break-word!important;padding:.2em .4em!important;font-family:SFMono-Regular,Consolas,Liberation\ Mono,Menlo,Courier,monospace!important;white-space:pre-wrap!important}.readme-content pre>code{background-color:transparent!important;border:0!important;display:inline!important;line-height:inherit!important;margin:0!important;overflow:visible!important;padding:0!important;word-wrap:normal!important;font-size:100%!important;white-space:pre!important}.readme-content blockquote{display:block!important;margin-left:30px!important;margin-top:0!important;margin-bottom:16px!important;margin-right:0!important;border-left-width:3px!important;padding:0 1em!important;color:#828282!important;border-left:4px solid #e8e8e8!important;padding-left:15px!important;font-size:18px!important;letter-spacing:-1px!important;font-style:italic!important}.readme-content blockquote *{font-style:normal!important;letter-spacing:0!important;color:#6a737d!important}.readme-content table{display:table!important;border-spacing:0!important;border-collapse:collapse!important;font-size:12px!important;overflow:hidden!important;width:100%!important;max-width:100%!important;margin-bottom:16px!important;margin-top:0!important;table-layout:fixed!important;word-break:break-all!important}.readme-content table *{border-spacing:0!important}.readme-content td{display:table-cell!important;padding:4px 8px!important;border:1px solid #dfe2e5!important;word-break:break-all!important;overflow:hidden!important;text-overflow:ellipsis!important}.readme-content th{display:table-cell!important;font-weight:600!important;padding:4px 8px!important;border:1px solid #dfe2e5!important;word-break:break-all!important;overflow:hidden!important;text-overflow:ellipsis!important}.readme-content tr{display:table-row!important;background-color:#fff!important;border-top:1px solid #c6cbd1!important}.readme-content tbody{display:table-row-group!important}.readme-content thead{display:table-header-group!important}.readme-content table tr:nth-child(2n) {background-color:#f6f8fa!important}.readme-content img{display:inline-block!important;border:none!important;box-sizing:border-box!important}.readme-content img:not([style*="width"]) {max-width:100%!important;height:auto!important}.readme-content img[style*="width"]{max-width:100%!important}.readme-content img[style*="display:none"]{display:none!important}.readme-content p{display:block!important;line-height:24px!important;font-weight:400!important;font-size:16px!important;color:#24292e!important;margin-top:0!important;margin-bottom:16px!important}.readme-content ul{display:block!important;margin-top:0!important;margin-bottom:16px!important;padding-left:2em!important;list-style-type:disc!important}.readme-content ol{display:block!important;margin-top:0!important;margin-bottom:16px!important;padding-left:2em!important;list-style-type:decimal!important}.readme-content li{display:list-item!important;color:#24292e!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important}.readme-content li+li{margin-top:.25em!important}.readme-content ul ul,.readme-content ul ol,.readme-content ol ol,.readme-content ol ul{margin-top:0!important;margin-bottom:0!important}.readme-content li>p{margin-top:16px!important}.readme-content h1,.readme-content h2,.readme-content h3{display:block!important;border-bottom:1px solid #eaecef!important;color:#111!important}.readme-content h1,.readme-content h2,.readme-content h3,.readme-content h4,.readme-content h5,.readme-content h6{display:block!important;margin-top:24px!important;margin-bottom:16px!important;font-weight:600!important;line-height:1.25!important}.readme-content h1{font-size:2em!important;padding-bottom:.3em!important}.readme-content h2{font-size:1.5em!important;padding-bottom:.3em!important}.readme-content h3{font-size:1.25em!important;padding-bottom:.3em!important}.readme-content h4{display:block!important;font-size:1em!important;color:#111!important}.readme-content h5{display:block!important;font-size:.875em!important;color:#111!important}.readme-content h6{display:block!important;font-size:.85em!important;color:#656d76!important}.readme-content>*:first-child,.readme-content .markdown-body>*:first-child{margin-top:0!important}.readme-content>*:last-child,.readme-content .markdown-body>*:last-child{margin-bottom:0!important}.readme-content strong,.readme-content b{font-weight:600!important}.readme-content em,.readme-content i{font-style:italic!important}.readme-content dl{display:block!important;padding:0!important}.readme-content dl dt{display:block!important;padding:0!important;margin-top:16px!important;font-size:1em!important;font-style:italic!important;font-weight:600!important}.readme-content dl dd{display:block!important;padding:0 16px!important;margin-bottom:16px!important;margin-left:0!important}.readme-content .task-list-item{list-style-type:none!important}.readme-content .task-list-item+.task-list-item{margin-top:3px!important}.readme-content .task-list-item input{margin:0 .2em .25em -1.6em!important;vertical-align:middle!important}.readme-content details{display:block!important}.readme-content summary{display:list-item!important;cursor:pointer!important}.readme-content details summary{margin-bottom:16px!important}.readme-content kbd{display:inline-block!important;padding:3px 5px!important;font-size:11px!important;line-height:10px!important;color:#444d56!important;vertical-align:middle!important;background-color:#fafbfc!important;border:solid 1px #c6cbd1!important;border-bottom-color:#959da5!important;border-radius:3px!important;box-shadow:inset 0 -1px 0 #959da5!important}.readme-content .markdown-alert{padding:.5rem 1rem!important;margin-bottom:16px!important;color:inherit!important;border-left:.25em solid #d1d9e0!important;background-color:transparent!important}.readme-content .markdown-alert>:first-child{margin-top:0!important}.readme-content .markdown-alert>:last-child{margin-bottom:0!important}.readme-content .markdown-alert .markdown-alert-title{display:flex!important;font-weight:500!important;align-items:center!important;line-height:1!important;margin-bottom:.5rem!important}.readme-content .markdown-alert.markdown-alert-note{border-left-color:#0969da!important;background-color:#f3f6fa!important}.readme-content .markdown-alert.markdown-alert-note .markdown-alert-title{color:#0969da!important}.readme-content .markdown-alert.markdown-alert-tip{border-left-color:#1a7f37!important;background-color:#f0f9f3!important}.readme-content .markdown-alert.markdown-alert-tip .markdown-alert-title{color:#1a7f37!important}.readme-content .markdown-alert.markdown-alert-important{border-left-color:#8250df!important;background-color:#fbf3ff!important}.readme-content .markdown-alert.markdown-alert-important .markdown-alert-title{color:#8250df!important}.readme-content .markdown-alert.markdown-alert-warning{border-left-color:#9a6700!important;background-color:#fff8e1!important}.readme-content .markdown-alert.markdown-alert-warning .markdown-alert-title{color:#9a6700!important}.readme-content .markdown-alert.markdown-alert-caution{border-left-color:#cf222e!important;background-color:#ffebe9!important}.readme-content .markdown-alert.markdown-alert-caution .markdown-alert-title{color:#cf222e!important}.readme-content svg{max-width:100%!important;height:auto!important}.readme-content iframe{max-width:100%!important}.readme-content video{max-width:100%!important;height:auto!important}.readme-content object,.readme-content embed{max-width:100%!important}.readme-content a{word-break:break-all!important}.readme-content pre code{word-break:break-all!important;white-space:pre-wrap!important;overflow-x:visible!important}.readme-content div,.readme-content section,.readme-content article,.readme-content aside,.readme-content figure{max-width:100%!important;overflow-x:hidden!important}.readme-content .table-responsive,.readme-content .table-wrapper{overflow:hidden!important;max-width:100%!important}.readme-content>*{max-width:100%!important}