:root{--font-thin:100;--font-extralight:200;--font-light:300;--font-regular:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--color-bg:#fffbfe;--color-bg-secondary:#f7f2fa;--color-bg-tertiary:#f3edf7;--color-surface:#fff;--color-surface-alt:#f4f2ee;--color-primary:#7c3aed;--color-primary-hover:#6d28d9;--color-primary-light:#ede9fe;--color-primary-text:#fff;--color-secondary:#9f67f5;--color-secondary-hover:#7c3aed;--color-secondary-light:#f3eeff;--color-accent:#6d28d9;--color-accent-hover:#5b21b6;--color-accent-light:#ede9fe;--color-text-primary:#050505;--color-text-secondary:#65676b;--color-text-muted:#8a8d91;--color-menu:#333;--color-text-inverse:#fff;--color-border:#ced0d4;--color-border-focus:#7c3aed;--color-success:#31a24c;--color-warning:#f7b928;--color-danger:#fa3e3e;--color-info:#7c3aed;--shadow-sm:0 1px 4px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 8px 28px #00000024;--padding-g:40px}*{box-sizing:border-box;margin:0;padding:0}body,html{background-color:var(--color-bg);scroll-behavior:smooth;min-height:100vh;font-family:Poppins,sans-serif;overflow-x:hidden}.preloader{background:var(--color-bg);z-index:999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader .spinner{justify-content:center;align-items:center;width:70px;height:70px;display:flex;position:relative}.preloader .spinner:before{content:"";border:6px solid #ddd;border-top-color:var(--color-primary);border-radius:50%;animation:1.2s linear infinite spin;position:absolute;inset:0}a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--color-primary-light);text-decoration-color:var(--color-primary-light);transition:text-decoration-color .2s ease-in-out}a:hover{-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary)}@keyframes spin{to{transform:rotate(360deg)}}.button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin:auto;animation:.8s linear infinite spin}.notif-banner{color:#1a1a1a;z-index:999;background:#f59e0b;margin-bottom:100px;padding:.6rem 2.5rem .6rem 1rem;font-size:12px;position:fixed;top:0;left:0;right:0}.notif-banner .c{flex-direction:row;justify-content:center;align-items:center;gap:10px;display:flex}.notif-banner .c span{font-weight:var(--font-semibold)}.notif-banner .c i{font-size:20px}.notif-banner .close-btn{cursor:pointer;color:inherit;background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.badge-new{font-size:11px;font-weight:var(--font-semibold);letter-spacing:.03em;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 50%, var(--color-accent) 100%);border-radius:999px;flex-grow:0;flex-shrink:0;align-items:center;padding:2px 10px;display:inline-flex;position:relative;overflow:hidden;color:#fff!important}.badge-new:after{content:"";background:linear-gradient(120deg,#0000 0%,#fff9 50%,#0000 100%);width:50%;height:100%;animation:2.5s ease-in-out infinite badge-shine;position:absolute;top:0;left:-75%;transform:skew(-20deg)}@keyframes badge-shine{0%{left:-75%}60%{left:125%}to{left:125%}}.info-popup-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);background:#00000073;justify-content:center;align-items:center;padding:1.5rem;animation:.18s lb-fade-in;display:flex;position:fixed;inset:0}.info-popup{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;width:100%;max-width:380px;padding:32px 28px 24px;animation:.2s lb-scale-in;display:flex;box-shadow:0 8px 48px #00000040}.info-popup .warn i{color:#9e7a26d3}.info-popup .fb i{color:var(--color-accent)}.info-popup .popup-icon{margin-bottom:5px}.info-popup .popup-icon i{font-size:80px}.info-popup-title{font-size:20px;font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 20px;line-height:1.3}.info-popup-footer{border-top:1px solid var(--color-border);flex-direction:row;justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:20px;padding-top:16px;display:flex}.info-popup-subtitle{color:#565656d4;text-align:center;flex:1;margin:0;font-size:13px;line-height:1.5}.info-popup button{font-size:14px;font-weight:var(--font-semibold);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 22px;font-family:inherit;transition:opacity .15s;display:flex}.info-popup .btnlist{flex-direction:row;justify-content:space-between;align-items:center;width:100%;display:flex}.info-popup button:hover{border-color:var(--color-primary);transition:all .3s ease-in-out;box-shadow:0 0 0 4px #1877f21a}.info-popup button:disabled{cursor:default;opacity:.6!important}.info-popup-ok{background:var(--color-primary);color:var(--color-primary-text);border:1px solid var(--color-primary)}.info-popup-cancel{background:var(--color-danger);color:var(--color-primary-text);border:1px solid var(--color-danger)}.info-popup button .spin{display:flex;padding:3.5px 10px!important}.info-popup button .spinner{border:2px solid #fff;border-top-color:var(--color-primary);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.info-popup-form{width:100%;margin-bottom:20px}.info-popup-textarea{width:100%;min-height:90px;max-height:200px;color:var(--color-text-primary);background:var(--color-secondary-light);border:1px solid var(--color-primary);resize:vertical;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.info-popup-textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.info-popup-textarea:disabled{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light);opacity:.6}.info-popup-input input{border:1.5px solid var(--color-border);box-sizing:border-box;border-radius:6px;outline:none;width:100%;padding:12px;font-family:inherit;transition:all .3s ease-in-out}.info-popup-input input:focus{border-color:var(--color-primary);transition:all .3s ease-in-out;box-shadow:0 0 0 4px #1877f21a}.info-popup-input input:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.info-popup-form #verify-code input{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:6px}.info-popup-form .act{flex-direction:row;justify-content:space-between;align-items:center;margin-top:10px;margin-bottom:20px;font-size:12px;display:flex}.info-popup-form .act button{color:#fff;cursor:pointer;border:0;border-radius:6px;outline:0;justify-content:center;align-items:center;padding:5px 10px;font-family:inherit;font-size:12px;transition:all .3s ease-in-out;display:flex}.info-popup-form .act .button-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:15px;height:15px;margin:auto;animation:.8s linear infinite spin}.info-popup-form #fill{background:var(--color-accent)}.info-popup-form #fill:hover{border-color:var(--color-primary);opacity:.8;transition:all .3s ease-in-out;box-shadow:0 0 0 4px #1877f21a}.info-popup-form #fill:disabled{opacity:.6;background:var(--color-accent);cursor:default}.info-popup-form #fill:disabled:hover{box-shadow:none}.info-popup-form .field-error{color:var(--color-danger);justify-content:left;font-size:12px;display:flex}@media screen and (width<=480px){.info-popup{max-width:100%;padding:28px 20px 20px}.info-popup-footer{flex-direction:column;align-items:stretch;gap:12px}.info-popup-subtitle{text-align:center}}.blog-content{color:var(--color-text-primary);word-wrap:break-word;font-size:16px;line-height:1.8}.blog-content>:first-child{margin-top:0}.blog-content>:last-child{margin-bottom:0}.blog-content p:empty{min-height:12px;margin:0;line-height:1}.blog-content p:has(>br:only-child){min-height:12px;margin:0;line-height:1}.blog-content .ql-size-huge,.blog-content .ql-size-large,.blog-content .ql-size-medium{font-weight:var(--font-semibold);color:var(--color-text-primary);margin:100px 0}.blog-content .ql-size-huge{font-size:27px}.blog-content .ql-size-large{font-size:22px}.blog-content .ql-size-medium{font-size:17px}.blog-content strong,.blog-content b{font-weight:var(--font-semibold)}.blog-content em{font-style:italic}.blog-content u{text-underline-offset:2px;text-decoration:underline}.blog-content s{text-decoration:line-through}.blog-content ul,.blog-content ol{margin-bottom:16px;list-style:none;display:block;margin-left:0!important;padding-left:0!important}.blog-content ul li,.blog-content ol li{margin-bottom:8px;padding-left:25px;line-height:1.7;position:relative}.blog-content li>ul,.blog-content li>ol{margin:8px 0 0}.blog-content ol li[data-list=bullet]:before{content:"";background:var(--color-primary);border-radius:50%;width:6px;height:6px;position:absolute;top:.7em;left:8px}.blog-content .ql-indent-1 li[data-list=bullet]:before{border:1.5px solid var(--color-primary);background:0 0}.blog-content ol{counter-reset:blog-ol-counter}.blog-content ol li[data-list=ordered]{counter-increment:blog-ol-counter}.blog-content ol li[data-list=ordered]:before{content:counter(blog-ol-counter);background:var(--color-primary-light);width:22px;height:22px;color:var(--color-primary);font-size:12px;font-weight:var(--font-semibold);border-radius:6px;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:.05em;left:0}.blog-content blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-secondary);margin:20px 0;padding:4px 18px;font-style:italic}.blog-content blockquote p:last-child{margin-bottom:0}.blog-content code{background:var(--color-bg-tertiary);color:var(--color-accent);border-radius:4px;padding:2px 6px;font-family:Courier New,monospace;font-size:13.5px}.blog-content .ql-code-block-container{background:var(--color-bg-tertiary);border-radius:8px;padding:14px 16px}.blog-content .ql-code-block-container select{color:var(--color-text-primary);border:1.5px solid var(--color-border);cursor:pointer;background-color:#fff;border-radius:6px;outline:none;width:20%;margin-bottom:5px;padding:5px;font-family:inherit;font-size:12px;transition:all .3s ease-in-out}.blog-content .ql-code-block-container select:disabled{cursor:not-allowed;appearance:none;width:20%}.blog-content .ql-code-block-container .ql-code-block{font-size:12px;overflow-x:auto}.blog-content pre code{color:var(--color-text-primary);background:0 0;padding:0}.blog-content img{border-radius:10px;max-width:100%;height:auto;margin:16px 0;display:block}.blog-content hr{border:none;border-top:1px solid var(--color-border);margin:28px 0}.blog-content table{border-collapse:collapse;width:100%;margin:0 0 16px;font-size:14px;overflow-x:auto}.blog-content table tr:first-child{background:#9e62fe32}.blog-content th,.blog-content td{border:1px solid var(--color-border);text-align:left;padding:8px 12px}.blog-content th{background:var(--color-bg-tertiary);font-weight:var(--font-semibold)}@media screen and (width<=600px){.blog-content{font-size:15px}.blog-content h1{font-size:22px}.blog-content h2{font-size:19px}.blog-content h3{font-size:17px}}.blog-content .ql-code-block-container .ql-code-block[data-language=javascript],.blog-content .ql-code-block-container .ql-code-block[data-language=typescript]{color:#eff0f1}.blog-content .ql-code-block-container .ql-code-block[data-language=javascript] .hljs-keyword{color:#ff79c6}.blog-content .ql-code-block-container .ql-code-block[data-language=javascript] .hljs-string{color:#f1fa8c}.blog-content .ql-code-block-container .ql-code-block[data-language=javascript] .hljs-title{color:#50fa7b}.blog-content .ql-code-block-container .ql-code-block[data-language=python]{color:#fff}.blog-content .ql-code-block-container .ql-code-block[data-language=python] .hljs-keyword{color:#ffb86c}.blog-content .ql-code-block-container .ql-code-block[data-language=python] .hljs-number{color:#bd93f9}.blog-content .ql-code-block-container .ql-code-block[data-language=python] .hljs-built_in{color:#8be9fd}.blog-content .ql-code-block-container .ql-code-block[data-language=xml],.blog-content .ql-code-block-container .ql-code-block[data-language=bash],.blog-content .ql-code-block-container .ql-code-block[data-language=xml] .hljs-tag,.blog-content .ql-code-block-container .ql-code-block[data-language=bash] .hljs-tag{color:#f55}.blog-content .ql-code-block-container .ql-code-block[data-language=xml] .hljs-attr,.blog-content .ql-code-block-container .ql-code-block[data-language=bash] .hljs-attr{color:#50fa7b}.blog-content .ql-code-block-container .ql-code-block[data-language=xml] .hljs-value,.blog-content .ql-code-block-container .ql-code-block[data-language=bash] .hljs-built_in{color:#889036}
