:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9f9f9}::-webkit-scrollbar{width:8px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.background-white{background:#fff}.position-relative{position:relative}.position-absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.z-index-99{z-index:99}.margin-tb-10{margin:10px 0}.margin-tb-20{margin:20px 0}.margin-tb-30{margin:30px 0}.margin-tb-40{margin:40px 0}.margin-top-10{margin-top:10px}.margin-top-20{margin-top:20px}.margin-top-30{margin-top:30px}.margin-top-40{margin-top:40px}.margin-bottom-0{margin-bottom:0!important}.margin-bottom-10{margin-bottom:10px}.margin-bottom-20{margin-bottom:20px}.margin-right-2em{margin-right:2em}.margin-lr-em{margin:0 .5em}.padding-15{padding:15px}.padding-10{padding:10px}.border-1px-ddd{border:1px solid #dddddd!important}.border-radius-5{border-radius:5px}.width-100{flex:1;width:100%}.min-height-100{min-height:100px!important}.font-weight-bold{font-weight:700}.font-size-9{font-size:.9rem}.font-color-dark{color:#2c3e50}.font-color-light{color:#7f8c8d}.font-color-blue{color:#3498db}.text-align-right{text-align:right!important}.text-align-center{text-align:center!important}.display-none{display:none}.display-flex{display:flex}.min-width-100{min-width:100px}.grid-template-columns-1{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-template-columns-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-template-columns-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-template-columns-3-lr8{display:grid;grid-template-columns:8fr 1fr 8fr;gap:20px}.grid-template-columns-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid-template-columns-5{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.grid-template-columns-6{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.big{padding:12px 24px;min-width:100px}.btn.small{padding:4px 8px;font-size:.8rem}.btn.primary{background:#3498db;color:#fff}.btn.primary:hover{background:#2980b9;transform:translateY(-1px)}.btn.secondary{background:#95a5a6;color:#fff}.btn.secondary:hover{background:#7f8c8d;transform:translateY(-1px)}.btn.info{background:#34495e;color:#fff}.btn.info:hover{background:#2c3e50;transform:translateY(-1px)}.btn.success{background:#27ae60;color:#fff}.btn.success:hover{background:#229954;transform:translateY(-1px)}.btn.danger{background:#e74c3c;color:#fff}.btn.danger:hover{background:#c0392b;transform:translateY(-1px)}.btn.ashen{background:#ecf0f1;color:#2c3e50}.btn.ashen:hover{background:#7abfed;transform:translateY(-1px)}.btn.ashen.active{background:#3498db;color:#fff}.btn.warning{background:#e6a23c;color:#fff}.btn.warning:hover:not(:disabled){background:#b88230;transform:translateY(-2px);box-shadow:0 4px 8px #e6a23c4d}.progress-bar-animated{height:16px;background:#ecf0f1;border-radius:10px;overflow:hidden;position:relative;margin-bottom:10px}.progress-fill-animated{position:absolute;top:0;left:0;height:100%;width:100%;background:#3498db;border-radius:10px}.progress-stripe-animated{position:absolute;top:0;left:0;height:100%;width:100%;background:linear-gradient(45deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);background-size:20px 20px;animation:progress-stripe 1s linear infinite;border-radius:10px}@keyframes progress-stripe{0%{background-position:0 0}to{background-position:20px 0}}.progress-text{font-weight:700;color:#3498db;text-align:center}.upload-section{margin-bottom:20px}.upload-section .upload-area{border:2px dashed #ddd;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa}.upload-section .upload-area:hover,.upload-section .upload-area.drag-over{border-color:#3498db;background:#e3f2fd}.upload-section .upload-content{display:flex;flex-direction:column;align-items:center;gap:15px}.upload-section .upload-icon{font-size:3rem}.upload-section .upload-text{color:#7f8c8d;margin:0}.upload-section .upload-hint{font-size:.9rem;color:#95a5a6}.hidden-file-input{display:none}.tool-page-header{margin-bottom:25px;text-align:center}.tool-title{text-align:center;color:#2c3e50;margin-bottom:10px;font-size:1.8rem}.tool-h3-title{color:#34495e;margin-bottom:10px;font-size:1.1rem}.tool-container{background:#fff;border-radius:8px;margin-bottom:30px;color:#333}.tool-description{text-align:center;color:#7f8c8d;padding:0 20px}.tool-card{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px #2196f31a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:1px solid rgba(33,150,243,.2);position:relative;display:flex;flex-direction:column}.tool-card:hover{box-shadow:0 15px 40px #2196f340;border-color:#2196f3}.tool-card-header{padding:12px 15px;background-color:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.tool-card-title{font-size:18px;color:#2d3748;margin:0;font-weight:600}.tool-card-body{padding:15px}.response-details{display:flex;flex-direction:column;gap:16px;flex:1;overflow:auto}.detail-item{border-radius:8px;background-color:#f8f9fa;overflow:hidden;flex:1;display:flex;flex-direction:column}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#e9ecef;border-bottom:1px solid #dee2e6}.detail-header h4{margin:0;color:#2d3748;font-size:16px;font-weight:600}.detail-content{flex:1;width:100%;padding:16px;border:none;font-family:Consolas,Monaco,monospace;font-size:14px;background-color:#fff;resize:none;min-height:300px;line-height:1.5}.code-editor{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.5;border:1px solid #cbd5e0;padding:12px;transition:all .2s ease;border-radius:0 0 8px 8px}.code-editor:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.form-control{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px;font-size:16px;box-sizing:border-box}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.form-control.invalid{border-color:#e74c3c}.tab-header{display:flex;gap:0;align-items:center}.tab-divider{width:2px;height:20px;background:#ddd;margin:0 10px}.tab-button{background:transparent;border:none;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s ease}.tab-button:hover{color:#3498db}.tab-button.active{color:#3498db;font-weight:700}.tab-content{position:relative;display:flex}.tool-actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap;gap:10px}.tool-actions-bar .options{display:flex;gap:15px}.tool-actions-bar .option-item{display:flex;align-items:center;gap:5px;cursor:pointer}.tool-actions-bar .select-option-style{padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background:#fff}.action-buttons{display:flex;gap:10px;flex-wrap:wrap}.tool-conversion-area{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.input-section,.output-section{display:flex;flex:1;flex-direction:column}.input-editor{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.text-editor{width:100%;flex:1;min-height:200px;padding:15px;border:1px solid #dddddd;border-radius:5px;font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.5;resize:vertical;background:#f8f9fa;overflow:auto}.input-info,.output-info{margin-top:8px;font-size:.9rem;color:#7f8c8d;text-align:right}.replace-controls{background-color:#f9f9f9;padding:15px;border-radius:6px;margin:15px 0;border:1px solid #dddddd}.tool-status-bar{padding:10px 0;border-top:1px solid #eee}.tool-status-bar .status-info{font-size:.9rem;color:#7f8c8d;padding-left:15px}.tool-status-bar .status-info .success{color:#27ae60}.tool-status-bar .status-info .warning{color:#f39c12}.tool-status-bar .status-info .error{color:#e74c3c}.tool-status-bar .status-info .info{color:#3498db}.tool-info-box{background:#d5e8f7;padding:20px;border-radius:8px;border-left:4px solid #3498db}.tool-info-box h2{color:#2c3e50;margin-top:0;margin-bottom:15px;font-size:1.3rem}.tool-info-box h3{color:#34495e;margin-bottom:10px;font-size:1.1rem}.tool-info-box h4{margin-top:20px;margin-bottom:10px;color:#2c3e50}.tool-info-box ul{padding-left:20px}.tool-info-box li{margin-bottom:8px;line-height:1.5;color:#666}.tool-info-box p{color:#666}.tool-info-box .algorithm-info{display:flex;flex-direction:column;gap:8px}.tool-info-box .algorithm-item{padding:8px;background:#fff;border-radius:4px;border-left:3px solid #3498db}.tool-info-box .example-content{background:#2d2d2d;color:#f8f8f2;padding:15px;border-radius:4px;margin-top:10px;font-family:Consolas,Monaco,monospace;font-size:13px;overflow:hidden;word-break:break-all}.tool-info-box .example-code{background:#2d2d2d;color:#f8f8f2;padding:15px;border-radius:4px;overflow-x:auto;margin:10px 0}.tool-info-box .example-code code{font-family:Consolas,Monaco,monospace;font-size:13px;color:#f8f8f2;background:none}.tool-info-box .warning{color:#e74c3c;font-weight:700;margin-top:10px}.height-600{height:600px}.height-600.with-line-numbers{padding-left:40px}.btn-remove{background:#e74c3c;color:#fff;border:none;border-radius:4px;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove:hover{background:#c0392b}.min-width-120{flex:1;min-width:120px}.placeholder-text{color:#7f8c8d;font-style:italic;text-align:center;padding:10px}.result-container{border:1px solid #ddd;border-radius:4px;min-height:80px;background:#f8f9fa;padding:15px;font-family:Consolas,Monaco,monospace;font-size:14px;word-break:break-all;overflow:auto}.stats-style{font-size:14px;color:#666;display:flex;align-items:center;gap:15px}.conversion-mode{display:flex;justify-content:center;gap:20px;margin:20px 0}.conversion-mode label span{display:flex;align-items:center;padding:10px 20px;border-radius:25px;cursor:pointer;transition:all .3s ease;position:relative;font-weight:500;color:#666;background-color:#f0f2f5;border:2px solid transparent;-webkit-user-select:none;user-select:none;justify-content:center}.conversion-mode label span:hover{background-color:#e6e8eb;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.conversion-mode input[type=radio]{position:absolute;opacity:0;width:0;height:0}.conversion-mode input[type=radio]:checked+span{background-color:#409eff;color:#fff;box-shadow:0 2px 5px #409eff4d}.conversion-mode input[type=radio]:checked+span:hover{background-color:#337ecc}.differ-item{flex:1;padding:8px 12px;background:#fff;border-radius:4px;border:1px solid #e9ecef}.differ-item .detail-label{font-weight:700;color:#555}.differ-item .detail-value{color:#3498db;font-weight:700;float:right}.differ-item .detail-value.holiday{color:#e74c3c}@media (max-width: 768px){.tool-info-box{padding:10px}.tool-container,.tool-page-header{margin-bottom:15px}.tool-actions-bar{flex-direction:column;align-items:stretch}.tool-actions-bar .action-buttons{justify-content:center}.tool-actions-bar .options{justify-content:center;margin-top:10px}.tool-conversion-area{flex-direction:column;grid-template-columns:1fr;gap:15px}.btn{padding:6px 12px;font-size:.85rem}.param-item{flex-direction:column;align-items:flex-start;gap:5px}.add-param{flex-direction:column;gap:10px}.text-editor,.result-container{min-height:250px}.batch-item{flex-direction:column;gap:5px}.batch-hash{width:auto!important;text-align:left!important}.color-inputs{grid-template-columns:1fr}.rgb-inputs,.hsl-inputs{flex-direction:column;gap:15px}.action-buttons{flex-direction:column}.stats-style{width:100%;justify-content:space-between}.tool-card-body{padding:5px!important}.detail-content{min-height:180px}.height-600{height:300px}.conversion-mode{flex-direction:column;gap:10px;padding:10px}.conversion-mode label{justify-content:center;margin:0}}@media (max-width: 480px){.tool-title{font-size:1.4rem}.tool-actions-bar .action-buttons{display:flex;gap:8px;flex-wrap:wrap}.param-key,.param-value{width:100%}.text-editor,.json-output{height:220px;font-size:12px}.text-editor.with-line-numbers{padding-left:40px}.json-line-numbers{padding:10px 3px;font-size:12px}.json-line-number.error-line{background:#e74c3c;color:#fff;font-weight:700}.color-display{height:120px}.palette-color{width:30px;height:30px}.upload-area{padding:20px 10px!important}.upload-icon{font-size:2rem!important}}.blog-container{margin:0 auto;display:flex;gap:20px}.main-content{flex:3;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.sidebar{flex:1;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a;height:fit-content;position:sticky;top:60px;max-width:338px}.blog-item{display:flex;gap:20px;align-items:center;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.blog-item:last-child{border-bottom:none;margin-bottom:0}.blog-image{flex:0 0 200px;min-height:120px;border-radius:6px;max-width:208px;object-fit:cover;width:100%}.blog-content{flex:1}.blog-title{font-size:22px;margin:0 0 8px}.blog-title a{text-decoration:none;color:#2980b9}.blog-title a:hover{text-decoration:underline}.blog-excerpt{font-size:15px;line-height:1.6;color:#555;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;height:50px}.blog-tag{font-size:12px;color:#333}.blog-meta-and-link{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:10px}.blog-meta{flex-direction:column}.publish-date,.view-count{font-size:14px;color:#666;margin:0 15px 4px 0}.read-more{font-size:14px;color:#2980b9;text-decoration:none}.read-more:hover{text-decoration:underline}.no-data,.loading,.no-more{text-align:center;padding:30px 0;color:#999}.loading{color:#2980b9}.sidebar h3{font-size:18px;margin-bottom:15px;color:#2c3e50;border-bottom:2px solid #eee;padding-bottom:5px}.hot-post{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.hot-post:last-child{border-bottom:none;margin-bottom:0}.hot-post-title{font-size:16px;margin:0 0 5px}.hot-post-title a{color:#2980b9;text-decoration:none}.hot-post-title a:hover{text-decoration:underline}.hot-post-desc{font-size:14px;color:#666;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-header{border-bottom:1px solid #eee}.article-title{font-size:2rem;color:#2c3e50;margin-bottom:1rem;line-height:1.3}.article-meta{color:#7f8c8d;font-size:.9rem;margin-bottom:1rem;display:flex;gap:2rem;flex-wrap:wrap}.article-meta span{display:flex;align-items:center;gap:.5rem}.article-content{padding:1rem 0;line-height:2;word-break:break-word;color:#333}.article-content :deep(table){width:100%;border-collapse:collapse;margin:15px 0;background-color:#fff;border:1px solid #ddd}.article-content :deep(th){background-color:#9ab5cf;color:#333;font-weight:600;text-align:center;padding:8px;border:1px solid #ddd}.article-content :deep(td){padding:8px;border:1px solid #ddd;vertical-align:top}.article-content :deep(tr:nth-child(even)){background-color:#f9f9f9}.article-content :deep(tr:hover){background-color:#f5f5f5}.article-content img{max-width:100%;height:auto}.article-content :deep(pre code.language-sql){font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#e83e8c;display:block;white-space:pre;word-wrap:normal;word-break:normal}.article-content :deep(pre:has(> code.language-sql)){background:#272822;border-radius:8px;padding:20px;margin:20px 0;overflow-x:auto;position:relative;box-shadow:0 4px 12px #1e3c724d;border:1px solid rgba(255,255,255,.1)}.article-content :deep(pre:has(> code.language-sql)::before){content:"SQL";position:absolute;top:0;right:0;background:#ffffff1a;color:#fff;padding:4px 12px;font-size:12px;border-bottom-left-radius:6px;font-weight:600;letter-spacing:1px}.tag-list{margin:1rem 0;display:flex;gap:.5rem;flex-wrap:wrap}.tag-list-title{color:#333}.tag{background:#ecf0f1;color:#2c3e50;padding:.3rem .8rem;border-radius:15px;font-size:.8rem;text-decoration:none;transition:background .3s}.tag:hover{background:#3498db;color:#fff}.article-nav{display:flex;justify-content:space-between;margin:1rem 0;padding-top:1rem;border-top:1px solid #eee}.nav-link{color:#3498db;text-decoration:none;font-weight:700;cursor:pointer}.nav-link:hover{text-decoration:underline}.not-click{color:#939697;cursor:not-allowed}.sidebar-section{margin-bottom:30px;border-bottom:1px solid #eee}.sidebar-section:last-child{border-bottom:none;margin-bottom:0}.sidebar-section h3{font-size:18px;margin-bottom:15px;color:#2c3e50;padding-bottom:5px}.search-box{display:flex;flex-direction:column;gap:10px}.search-button{padding:10px 15px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .3s}.search-button:hover{background:#2980b9}.tag-cloud-item{cursor:pointer;padding:3px 8px;background:#f5f5f5;border-radius:15px;transition:all .3s ease;display:flex;align-items:center}.tag-cloud-item:hover{background:#3498db;color:#fff!important;transform:scale(1.05)}@media (max-width: 768px){.blog-container{flex-direction:column}.main-content{padding:10px}.sidebar{position:static;max-width:100%;padding:10px}.blog-item{flex-direction:column}.blog-image{width:100%;height:180px;flex:none;max-width:100%}.article-title{font-size:1.3rem}.article-meta{flex-direction:column;gap:.5rem}.article-content{line-height:1.8;font-size:.9rem}.article-content h1{font-size:1.2rem}.article-content h2{font-size:1.1rem}.article-content h3{font-size:1rem}.article-content img{max-width:100%;height:auto}.article-nav{flex-direction:column;gap:1rem}.blog-meta{flex-direction:row;align-items:center}.publish-date,.view-count{margin-bottom:0;margin-right:15px}}#app{width:100%;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (min-width: 1024px){body{display:flex;place-items:center}}header{background:#2c3e50;color:#fff;padding:1rem 0;position:sticky;top:0;z-index:100}header nav{display:flex;justify-content:space-between;align-items:center}header .logo{display:flex;align-items:center;gap:10px;cursor:pointer}header .logo-image{height:40px;width:auto}header .logo-text{font-size:1.5rem;font-weight:700;color:#fff}header .nav-links{display:flex;align-items:center;list-style:none;gap:2rem}header .nav-links a{color:#fff;text-decoration:none;transition:color .3s}header .nav-links a:hover{color:#3498db}header .nav-item:hover{color:#22fc60}header .nav-item.active{color:#3498db;font-weight:700}header .auth-section{display:flex;gap:1rem;align-items:center}header .user-section{color:#fff;align-items:center;gap:.5rem}header .btn{padding:8px 16px;font-size:.9rem;text-decoration:none;border-radius:4px;transition:all .3s ease;display:inline-block}header .register-btn{background:#27ae60;color:#fff}header .logout-btn{margin-left:10px;color:#fff;text-decoration:none}header:before{background:#000 linear-gradient(to left,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);content:"";height:5px;position:absolute;top:0;width:100%}.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center;padding:4rem 0}.hero h1{font-size:3rem;margin-bottom:1rem}.hero p{font-size:1.2rem;margin-bottom:2rem}.hero-buttons{display:flex;justify-content:center;gap:20px}.view-btn{display:inline-block;padding:12px 30px;background:#42b883;color:#fff;text-decoration:none;border-radius:30px;font-weight:500;transition:all .3s ease}.view-btn.secondary{background:transparent;border:2px solid white}.view-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.container{max-width:1300px;margin:0 auto}.container-bg{flex:3;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.content{padding:1.6rem 0;min-height:72vh}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;background:#fff;border-bottom:1px solid #ddd;border-top-left-radius:8px;border-top-right-radius:8px}.section-header h2{font-size:28px;color:#333;margin:0}.view-all-link{color:#42b883;text-decoration:none;font-weight:500}.view-all-link:hover{text-decoration:underline}.featured-posts{display:grid;grid-template-columns:2fr 1fr;column-gap:25px;row-gap:0}.featured-post{border-radius:15px;overflow:hidden;position:relative;height:320px;box-shadow:0 8px 25px #0000001a}.featured-main{grid-row:span 2}.featured-post img{width:100%;height:100%}.featured-content{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:30px 25px 25px}.featured-content h3{color:#fff;margin:0 0 12px;font-size:24px;line-height:1.3}.featured-content p{color:#ffffffe6;margin-bottom:18px;font-size:15px;line-height:1.5}.post-meta{display:flex;gap:20px;font-size:13px;margin-bottom:15px}.read-more{display:inline-block;color:#42b883;background:#fff;padding:8px 20px;border-radius:20px;text-decoration:none;font-weight:500;font-size:14px;transition:all .3s ease;cursor:pointer}.read-more:hover{background:#f8f9fa;transform:translateY(-2px)}.sidebar-widgets{display:flex;flex-direction:column;gap:25px}.widget{background:#fff;border-radius:15px;padding:20px;box-shadow:0 4px 15px #00000014;height:320px}.widget h3{margin-top:0;margin-bottom:15px;color:#333;font-size:18px}.search-widget .search-container{display:flex;flex-direction:column;gap:20px}.search-form{width:100%}.search-input-wrapper{display:flex;gap:10px}.search-input:focus{border-color:#42b883}.search-button{padding:10px 20px;background:#42b883;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background .3s ease}.search-button:hover{background:#359c6d}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px}.tag-item{padding:6px 12px;border-radius:20px;color:#fff;font-size:13px;cursor:pointer;transition:transform .2s ease}.tag-item:hover{transform:scale(1.05)}.home-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.home-tool-card{background:#fff;border-radius:15px;padding:30px 20px;text-align:center;box-shadow:0 4px 15px #00000014;transition:transform .3s ease,box-shadow .3s ease}.home-tool-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.home-tool-icon{font-size:40px;margin-bottom:20px}.home-tool-card h3{margin:0 0 15px;color:#333}.home-tool-card p{color:#666;margin-bottom:20px;font-size:14px;line-height:1.5;min-height:42px}.home-tool-link{display:inline-block;padding:8px 20px;background:#42b883;color:#fff;text-decoration:none;border-radius:20px;font-size:14px;transition:background .3s ease}.home-tool-link:hover{background:#359c6d}.tutorials-section .tutorials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-radius:15px;box-shadow:0 4px 15px #00000014;overflow:hidden}.tutorials-section .tutorial-card{border-right:1px solid #eee;padding:25px 20px}.tutorials-section .tutorial-card.no-border{border-right:none}.tutorials-section .tutorial-image{width:100%;height:160px;border-radius:8px;margin-bottom:10px}.tutorials-section .tutorial-content{display:flex;flex-direction:column}.tutorials-section .tutorial-category{display:inline-block;align-self:flex-start;padding:5px 12px;border-radius:20px;color:#fff;font-size:12px;margin-bottom:10px}.tutorials-section .tutorial-content h3{margin:0 0 12px;color:#333;font-size:18px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;text-overflow:ellipsis}.tutorials-section .tutorial-content p{color:#666;margin-bottom:10px;line-height:1.5;flex-grow:1;font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:43px}.tutorials-section .tutorial-link{display:inline-block;padding:8px 16px;background:#42b883;color:#fff;text-decoration:none;border-radius:5px;font-weight:500;font-size:14px;align-self:flex-start;transition:background .3s ease;cursor:pointer;width:100%;text-align:center}.tutorials-section .tutorial-link:hover{background:#359c6d}.recent-posts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.recent-post{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 15px #00000014;transition:transform .3s ease,box-shadow .3s ease}.recent-post:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.post-image{width:100%;height:190px}.post-content{padding:15px 20px 20px}.post-content h3{margin:0 0 10px;color:#333;font-size:18px;line-height:1.4;min-height:50px}.post-excerpt{color:#666;margin-bottom:15px;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}.post-meta-info{display:flex;justify-content:space-between;font-size:12px;color:#888;margin-bottom:15px}.read-more-link{display:inline-block;color:#fff;text-decoration:none;font-weight:500;font-size:14px;padding:8px 16px;background:linear-gradient(135deg,#42b883,#5d91c6);border-radius:20px;transition:all .3s ease;box-shadow:0 2px 8px #42b8834d;cursor:pointer;width:100%;text-align:center}.read-more-link:hover{background:linear-gradient(135deg,#5d91c6,#42b883);box-shadow:0 4px 12px #42b88380;transform:translateY(-2px);color:#fff;font-weight:700}.post-info-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.post-tag-badges{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px}.blog-tag{font-size:12px}footer{border-top:#00C1DE 10px solid;background:#2c3e50;color:#fff;text-align:center;padding:2rem 0}footer p{display:flex;align-items:center;justify-content:center;gap:5px}.ga img{display:inline-block;vertical-align:middle;margin:0;height:18px;width:auto}.code-block-wrapper{position:relative;margin:1em 0}.code-header{display:flex;justify-content:space-between;align-items:center;background:#2d2d2d;color:#fff;padding:.5em 1em;border-top-left-radius:4px;border-top-right-radius:4px}.language-label{font-size:.85em;text-transform:uppercase;letter-spacing:1px}.copy-button{background:#444;color:#fff;border:none;padding:.25em .5em;border-radius:3px;cursor:pointer;font-size:.8em}.copy-button:hover{background:#555}.code-block-wrapper pre[class*=language-]{margin:0;border-top-left-radius:0;border-top-right-radius:0}.input-style{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;width:100%}@media (max-width: 1200px){.tutorials-grid{grid-template-columns:repeat(2,1fr)}.tutorial-card:nth-child(2){border-right:none}.tutorial-card:nth-child(2n){border-right:none}.tutorial-card:nth-child(-n+2){border-bottom:1px solid #eee}}@media (max-width: 1024px){.featured-posts{grid-template-columns:1fr}}@media (max-width: 768px){.container{padding:0 10px}.container-bg{padding:10px!important;margin:0 10px}.content{padding:.8rem 0}.featured-post{height:auto}.featured-post .featured-content{padding:10px;font-weight:700}.featured-post .featured-content p{margin-bottom:8px}.menu-toggle{display:block}.hero{padding:2rem 0}.hero h1{font-size:2.2rem}.hero-buttons{align-items:center;gap:15px}.section-header{gap:10px}.post-info-row{flex-direction:column;align-items:flex-start}.nav-links{position:absolute;top:100%;left:0;right:0;background:#2c3e50;flex-direction:column;padding:1rem;gap:1rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.nav-links.show{transform:translateY(0);opacity:1;visibility:visible}.tutorials-grid{grid-template-columns:1fr;display:inline-block!important}.tutorial-card{border-right:none;border-bottom:1px solid #eee;padding:10px 6px!important}.tutorial-card.no-border{border-bottom:none}.sidebar-widgets{margin-top:20px}.post-content{padding:5px 10px 10px}footer{padding:1rem 0}[class^=grid-template-columns-],[class*=" grid-template-columns-"]{grid-template-columns:1fr;gap:10px}.flex-direction-row{flex-direction:row!important}.flex-direction-column{flex-direction:column!important;gap:10px}.padding-15{padding:10px}.margin-bottom-20{margin-bottom:10px}}.custom-toast[data-v-c0b806ac]{position:fixed;top:20px;left:0;right:0;margin:0 auto;padding:12px 20px;border-radius:4px;color:#fff;font-weight:500;z-index:999999;box-shadow:0 4px 12px #00000026;animation:slideIn-c0b806ac .3s ease;width:fit-content;max-width:90%}@keyframes slideIn-c0b806ac{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.warning[data-v-c0b806ac]{background-color:#faad14}.success[data-v-c0b806ac]{background-color:#52c41a}.error[data-v-c0b806ac]{background-color:#ff4d4f}.info[data-v-c0b806ac]{background-color:#1890ff}.search-box[data-v-ccccc0b2]{flex:1;min-width:220px}.search-input-wrapper[data-v-ccccc0b2]{position:relative;display:flex;align-items:center}.search-input[data-v-ccccc0b2]{width:100%;padding:10px 15px;border:1px solid #ddd;border-radius:4px;font-size:14px;outline:none;transition:border-color .3s}.search-input[data-v-ccccc0b2]:focus{border-color:#409eff;box-shadow:0 0 0 2px #409eff33}.clear-btn[data-v-ccccc0b2]{position:absolute;right:10px;background-color:#f0f0f0;border:none;font-size:18px;cursor:pointer;color:#999;width:20px;height:20px;line-height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.clear-btn[data-v-ccccc0b2]:hover{background-color:#ddd;color:#666}.auth-wrapper[data-v-a586cfee]{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;position:fixed;top:0;left:0;background-color:#00000080;z-index:1000}.auth-container[data-v-a586cfee]{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 30px #0003;width:100%;max-width:400px;position:relative;margin:auto}.auth-title[data-v-a586cfee]{text-align:center;font-size:24px;margin-bottom:30px;color:#333}.form-group[data-v-a586cfee]{margin-bottom:20px}.form-group label[data-v-a586cfee]{display:block;margin-bottom:5px;color:#555;font-size:14px}.form-group input[data-v-a586cfee]{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;transition:border-color .3s}.form-group input[data-v-a586cfee]:focus{outline:none;border-color:#667eea}.btn[data-v-a586cfee]{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background .3s}.btn[data-v-a586cfee]:hover{background:#5a6fd8}.switch-text[data-v-a586cfee]{text-align:center;margin-top:20px;color:#666}.switch-link[data-v-a586cfee]{color:#667eea;text-decoration:none;cursor:pointer}.switch-link[data-v-a586cfee]:hover{text-decoration:underline}.third-party[data-v-a586cfee]{margin-top:30px;text-align:center}.third-party-title[data-v-a586cfee]{font-size:14px;color:#888;margin-bottom:15px}.third-party-buttons[data-v-a586cfee]{display:flex;gap:15px;justify-content:center}.third-btn[data-v-a586cfee]{width:50px;height:50px;border:1px solid #ddd;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:all .3s}.third-btn[data-v-a586cfee]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.wechat[data-v-a586cfee]{color:#07c160}.qq[data-v-a586cfee]{color:#12b7f5}.register-form[data-v-a586cfee],.tab-content[data-v-a586cfee]{display:none}.tab-content.active[data-v-a586cfee]{display:block}.input-group[data-v-a586cfee]{display:flex;align-items:center;gap:10px;position:relative}.input-group input[data-v-a586cfee]{flex:1}.password-toggle[data-v-a586cfee]{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:18px;position:absolute;right:10px}.code-btn[data-v-a586cfee]{padding:12px 10px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .3s;white-space:nowrap}.code-btn[data-v-a586cfee]:hover:not(:disabled){background:#5a6fd8}.code-btn[data-v-a586cfee]:disabled{background:#ccc;cursor:not-allowed}.form-options[data-v-a586cfee]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:14px}.remember-me[data-v-a586cfee]{display:flex;align-items:center;cursor:pointer;color:#555}.remember-me input[data-v-a586cfee]{margin-right:8px;width:auto}.forgot-password[data-v-a586cfee]{color:#667eea;cursor:pointer;text-decoration:none}.forgot-password[data-v-a586cfee]:hover{text-decoration:underline}.user-icon[data-v-ff7dcbde]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:#f0f0f0;color:#333;transition:all .3s ease;border:1px solid #ddd}.user-icon[data-v-ff7dcbde]:hover{background-color:#e0e0e0;transform:scale(1.05)}.user-icon svg[data-v-ff7dcbde]{width:20px;height:20px}@media (max-width: 768px){.user-icon[data-v-ff7dcbde]{margin:0 10px}}.back-to-top[data-v-81035c94]{position:fixed;bottom:30px;right:30px;width:40px;height:40px;background-color:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;box-shadow:0 2px 10px #0000001a;z-index:1000;font-size:25px;font-weight:700}.back-to-top[data-v-81035c94]:hover{background-color:#0056b3;transform:translateY(-2px)}.back-to-top.show[data-v-81035c94]{opacity:1;visibility:visible;transform:translateY(0)}@media (max-width: 768px){.back-to-top[data-v-81035c94]{bottom:20px;right:20px;width:36px;height:36px}}
