:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.HomePage-module__container___webvv{width:100%;max-width:1200px;margin:0 auto;padding:20px 24px;min-height:100vh;display:flex;flex-direction:column;gap:64px}@media (max-width: 992px){.HomePage-module__container___webvv{padding:24px 16px;gap:48px}}@media (max-width: 768px){.HomePage-module__container___webvv{padding:16px 8px;gap:20px}}.HomePage-module__header___e-RYW{text-align:center;padding:48px 0 0;animation:HomePage-module__fadeInUp___xI-mX .8s .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.HomePage-module__header___e-RYW{padding:20px 0 0}}.HomePage-module__logoSection___cf75d{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:20px}@media (max-width: 768px){.HomePage-module__logoSection___cf75d{gap:16px;margin-bottom:24px}}.HomePage-module__logo___fzylh{width:96px;height:96px;background:#f8f9fa;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #e9ecef;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014;overflow:hidden;cursor:pointer}.HomePage-module__logo___fzylh:hover{transform:scale(1.05) rotate(5deg);box-shadow:0 4px 16px #0000001f;border-color:#667eea}@media (max-width: 768px){.HomePage-module__logo___fzylh{width:80px;height:80px}}@media (max-width: 576px){.HomePage-module__logo___fzylh{width:64px;height:64px}}.HomePage-module__logoImage___B1YFK{width:100%;height:100%;object-fit:cover;border-radius:50%}.HomePage-module__siteTitle___9-PoK{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#2c3e50;margin:0;line-height:1.2;background:linear-gradient(135deg,#667eea,#2c3e50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.HomePage-module__slogan___I0OGR{font-size:clamp(1rem,2vw,1.25rem);color:#6c757d;font-weight:400;letter-spacing:1px;margin:0;opacity:.9}@media (max-width: 768px){.HomePage-module__slogan___I0OGR{letter-spacing:.5px}}.HomePage-module__mainContent___Et4hL{flex:1;display:flex;flex-direction:column;gap:48px}.HomePage-module__introSection___lNpRj{text-align:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e9ecef;padding:48px 20px;background:linear-gradient(135deg,#f8f9fa,#fff);border:none;position:relative;overflow:hidden}.HomePage-module__introSection___lNpRj:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#2c3e50)}@media (max-width: 768px){.HomePage-module__introSection___lNpRj{padding:20px 24px}}@media (max-width: 576px){.HomePage-module__introSection___lNpRj{padding:24px 16px}}.HomePage-module__welcomeText___Euyao{font-size:clamp(1.5rem,3vw,2.25rem);color:#2c3e50;margin:0 0 24px;font-weight:700;line-height:1.3;text-align:center}.HomePage-module__welcomeText___Euyao:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,#667eea,#2c3e50);margin:16px auto 0;border-radius:6px}.HomePage-module__description___Z3j7y{font-size:clamp(1rem,1.5vw,1.125rem);color:#6c757d;max-width:640px;margin:0 auto;line-height:1.7;font-weight:400;text-align:center}.HomePage-module__featureGrid___8jUqz{display:flex;justify-content:center;align-items:stretch;gap:6rem;width:100%;max-width:1400px;margin:50px auto 0;padding:0 1rem}@media (max-width: 992px){.HomePage-module__featureGrid___8jUqz{gap:1.5rem;max-width:1200px}}@media (max-width: 768px){.HomePage-module__featureGrid___8jUqz{flex-direction:column;gap:1.5rem;max-width:600px}}.HomePage-module__featureCard___2FOlt{flex:1;min-width:0;background:#fff;border:2px solid #667eea;border-radius:16px;box-shadow:0 4px 16px #0000001f;transition:all .3s cubic-bezier(.4,0,.2,1);padding:2.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2rem;position:relative;overflow:hidden;cursor:pointer;min-height:200px}@media (max-width: 992px){.HomePage-module__featureCard___2FOlt{padding:2rem 1.5rem;gap:1.75rem;min-height:180px}}@media (max-width: 768px){.HomePage-module__featureCard___2FOlt{padding:2rem;gap:2rem;max-width:none;min-height:160px}}.HomePage-module__featureCard___2FOlt:hover{transform:translateY(-6px);box-shadow:0 8px 32px #00000029;border-color:#2c3e50}.HomePage-module__featureCard___2FOlt:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s cubic-bezier(.4,0,.2,1)}.HomePage-module__featureCard___2FOlt:hover:before{left:100%}.HomePage-module__cardDescription___VP-c9{margin:20px 0}.HomePage-module__cardIcon___eKPsE{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex-shrink:0}.HomePage-module__cardIcon___eKPsE:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:linear-gradient(45deg,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.HomePage-module__cardIcon___eKPsE{width:36px;height:36px;font-size:16px}}.HomePage-module__blogCard___BcoeM .HomePage-module__cardIcon___eKPsE{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.HomePage-module__projectsCard___f-snj .HomePage-module__cardIcon___eKPsE{background:linear-gradient(135deg,#667eea,#764ba2)}.HomePage-module__toolsCard___tsb6L .HomePage-module__cardIcon___eKPsE{background:linear-gradient(135deg,#f093fb,#f5576c)}.HomePage-module__featureCard___2FOlt:hover .HomePage-module__cardIcon___eKPsE{transform:scale(1.05) rotate(5deg)}.HomePage-module__featureCard___2FOlt:hover .HomePage-module__cardIcon___eKPsE:after{opacity:1}.HomePage-module__cardHeader___m5MMl{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%}.HomePage-module__featureCard___2FOlt h3{font-size:clamp(1.25rem,2vw,1.5rem);margin:0;color:#2c3e50;font-weight:700;line-height:1.3}.HomePage-module__featureCard___2FOlt p{color:#6c757d;margin:0;line-height:1.6;font-size:clamp(.9rem,1.5vw,1rem);flex:1;margin-top:.5rem;margin-bottom:1rem}.HomePage-module__cardLink___z8n49{display:inline-flex;align-items:center;gap:8px;color:#667eea;text-decoration:none;font-weight:600;font-size:.9rem;padding:16px 24px;border-radius:24px;border:2px solid #667eea;background:transparent;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.HomePage-module__cardLink___z8n49:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#667eea;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:-1}.HomePage-module__cardLink___z8n49:hover{color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.HomePage-module__cardLink___z8n49:hover:before{transform:translate(0)}.HomePage-module__cardLink___z8n49:hover i{transform:translate(4px)}.HomePage-module__cardLink___z8n49 i{transition:transform .3s cubic-bezier(.4,0,.2,1);font-size:.8rem}.HomePage-module__footer___F0lvL{text-align:center;padding:48px 0;margin-top:auto;border-top:1px solid #e9ecef}@media (max-width: 768px){.HomePage-module__footer___F0lvL{padding:20px 0}}.HomePage-module__socialLinks___sFQe5{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:20px}@media (max-width: 768px){.HomePage-module__socialLinks___sFQe5{gap:16px;margin-bottom:24px}}.HomePage-module__socialLink___RBKcx{width:56px;height:56px;background:#f8f9fa;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6c757d;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid #e9ecef;font-size:1.25rem}.HomePage-module__socialLink___RBKcx:hover{background:#667eea;color:#fff;transform:translateY(-4px) scale(1.05);box-shadow:0 8px 32px #00000029;border-color:#667eea}@media (max-width: 768px){.HomePage-module__socialLink___RBKcx{width:48px;height:48px;font-size:1.1rem}}.HomePage-module__copyright___aVbvo{color:#6c757d;font-size:.9rem;margin:0 0 8px;font-weight:400}.HomePage-module__icpInfo___bcXuX{font-size:.8rem;color:#adb5bd;margin:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}.HomePage-module__icpInfo___bcXuX a{color:#adb5bd;text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1)}.HomePage-module__icpInfo___bcXuX a:hover{color:#667eea}.HomePage-module__beianSeparator___lo34q{color:#adb5bd}@media (max-width: 576px){.HomePage-module__beianSeparator___lo34q{display:none}}@keyframes HomePage-module__fadeInUp___xI-mX{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes HomePage-module__slideInLeft___XY1iK{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes HomePage-module__float___-Hsxr{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes HomePage-module__pulse___YNYBv{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.HomePage-module__featureCard___2FOlt{animation:HomePage-module__fadeInUp___xI-mX .6s .3s cubic-bezier(.4,0,.2,1) forwards}.HomePage-module__featureCard___2FOlt:nth-child(1){animation-delay:.1s}.HomePage-module__featureCard___2FOlt:nth-child(2){animation-delay:.2s}.HomePage-module__featureCard___2FOlt:nth-child(3){animation-delay:.3s}.HomePage-module__featureCard___2FOlt:nth-child(4){animation-delay:.4s}.HomePage-module__featureCard___2FOlt:nth-child(5){animation-delay:.5s}.HomePage-module__featureCard___2FOlt:nth-child(6){animation-delay:.6s}.HomePage-module__header___e-RYW{animation:HomePage-module__fadeInUp___xI-mX .8s .3s cubic-bezier(.4,0,.2,1)}.HomePage-module__introSection___lNpRj{animation:HomePage-module__fadeInUp___xI-mX .8s .3s cubic-bezier(.4,0,.2,1) .2s both}.HomePage-module__logo___fzylh{animation:HomePage-module__float___-Hsxr 6s ease-in-out infinite}.HomePage-module__cardIcon___eKPsE{animation:HomePage-module__pulse___YNYBv 4s ease-in-out infinite}.home-letter-page{min-height:100vh;background:linear-gradient(135deg,#f5f1e8,#ede4d3);position:relative;overflow-x:hidden;font-family:KaiTi,楷体,serif}.letter-header{text-align:center;padding:40px 20px 30px;position:relative;z-index:1;background:#f5f1e8e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(139,115,85,.2)}.page-title{font-size:3rem;color:#8b7355;margin-bottom:10px;font-weight:600;text-shadow:2px 2px 4px rgba(139,115,85,.3);letter-spacing:4px;animation:titleFadeIn 1.5s ease-out}.page-subtitle{font-size:1.2rem;color:#a0896c;font-style:italic;letter-spacing:2px;animation:subtitleFadeIn 2s ease-out}.main-container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:20px;min-height:calc(100vh - 200px)}.letter-list-toggle{position:fixed;top:50%;left:20px;transform:translateY(-50%);background:#8b7355e6;color:#f5f1e8;border:none;padding:15px 20px;border-radius:0 25px 25px 0;cursor:pointer;font-size:16px;font-family:inherit;z-index:1000;transition:all .3s ease;box-shadow:2px 2px 10px #0003;writing-mode:vertical-rl;text-orientation:mixed}.letter-list-toggle:hover{background:#8b7355;transform:translateY(-50%) translate(5px);box-shadow:4px 4px 15px #0000004d}.toggle-icon{display:block;margin-bottom:8px;font-size:20px}.letter-sidebar{position:fixed;top:0;left:-350px;width:350px;height:100vh;background:#f5f1e8f2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-right:3px solid rgba(139,115,85,.3);transition:left .4s cubic-bezier(.4,0,.2,1);z-index:1001;overflow-y:auto;box-shadow:5px 0 20px #0000001a}.letter-sidebar.visible{left:0}.sidebar-header{padding:30px 25px 20px;border-bottom:2px solid rgba(139,115,85,.2);display:flex;justify-content:space-between;align-items:center;background:#8b73551a}.sidebar-header h3{color:#8b7355;font-size:1.5rem;margin:0;letter-spacing:2px}.close-btn{background:none;border:none;font-size:24px;color:#8b7355;cursor:pointer;padding:5px;border-radius:50%;transition:all .3s ease}.letter-list{padding:20px 0}.letter-item{padding:20px 25px;border-bottom:1px solid rgba(139,115,85,.15);cursor:pointer;transition:all .3s ease;position:relative}.letter-item:hover{background:#8b73551a;transform:translate(10px)}.letter-item.active{background:#8b735533;border-left:4px solid #8b7355}.letter-item-title{font-size:1.2rem;color:#8b7355;font-weight:600;margin-bottom:8px;letter-spacing:1px}.letter-item-meta{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.9rem;color:#a0896c}.letter-item-genre{font-size:.85rem;color:#b8a082;font-style:italic}.letter-display{max-width:800px;margin:0 auto;background:#ffffffe6;border-radius:20px;box-shadow:0 10px 30px #8b735533;overflow:hidden;animation:letterAppear .8s ease-out}.letter-scroll{padding:40px 50px;line-height:1.8}.letter-title-section{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid rgba(139,115,85,.2);position:relative}.letter-title-section:after{content:"❀";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);background:#ffffffe6;padding:0 15px;color:#8b7355;font-size:20px}.letter-title{font-size:2.5rem;color:#8b7355;margin-bottom:20px;letter-spacing:3px;font-weight:700}.letter-meta{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;font-size:1rem;color:#a0896c}.letter-meta span{padding:8px 16px;background:#8b73551a;border-radius:20px;border:1px solid rgba(139,115,85,.2)}.letter-content-section,.letter-analysis-section{margin-bottom:40px}.section-title{font-size:1.5rem;color:#8b7355;margin-bottom:20px;padding-left:20px;border-left:4px solid #8b7355;letter-spacing:2px}.letter-content{font-size:1.2rem;line-height:2;color:#5d4e37;text-align:justify;padding:25px;background:#f5f1e880;border-radius:15px;border:1px solid rgba(139,115,85,.2);position:relative;letter-spacing:1px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#8b7355}.loading-spinner{width:60px;height:60px;border:4px solid rgba(139,115,85,.2);border-top:4px solid #8b7355;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-container p{font-size:1.2rem;letter-spacing:2px;margin:0}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#8b7355;max-width:500px;margin:0 auto;padding:40px 20px}.error-icon{font-size:4rem;margin-bottom:20px;opacity:.8}.error-container h3{font-size:1.8rem;margin-bottom:15px;letter-spacing:2px;color:#8b7355}.error-container p{font-size:1.1rem;margin-bottom:30px;color:#a0896c;line-height:1.6}.retry-btn{background:#8b7355e6;color:#f5f1e8;border:none;padding:12px 30px;border-radius:25px;cursor:pointer;font-size:1rem;font-family:inherit;letter-spacing:1px;transition:all .3s ease;box-shadow:0 4px 15px #8b73554d}.retry-btn:hover{background:#8b7355;transform:translateY(-2px);box-shadow:0 6px 20px #8b735566}.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#8b7355;max-width:500px;margin:0 auto;padding:40px 20px}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.6}.empty-container h3{font-size:1.8rem;margin-bottom:15px;letter-spacing:2px;color:#8b7355}.empty-container p{font-size:1.1rem;color:#a0896c;line-height:1.6}.letter-manage-page{min-height:100vh;background:linear-gradient(135deg,#f5f1e8,#ede4d3);position:relative;overflow-x:hidden;font-family:KaiTi,楷体,serif}.bg-decoration{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.bamboo-left,.bamboo-right{position:absolute;width:120px;height:100%;background:linear-gradient(to right,transparent 0%,rgba(139,115,85,.1) 30%,rgba(139,115,85,.05) 70%,transparent 100%);opacity:.6}.bamboo-left{left:0;background:linear-gradient(to right,rgba(139,115,85,.08) 0%,transparent 100%)}.bamboo-right{right:0;background:linear-gradient(to left,rgba(139,115,85,.08) 0%,transparent 100%)}.manage-header{padding:40px 20px 30px;position:relative;z-index:1;background:#f5f1e8e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid rgba(139,115,85,.2)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;max-width:1400px;margin:0 auto}.header-left{flex:1;text-align:center}.header-right{display:flex;align-items:center}.page-title{font-size:3rem;color:#8b7355;margin:0 0 10px;font-weight:600;text-shadow:2px 2px 4px rgba(139,115,85,.3);letter-spacing:4px;animation:titleFadeIn 1.5s ease-out}.page-subtitle{font-size:1.2rem;color:#a0896c;font-style:italic;letter-spacing:2px;animation:subtitleFadeIn 2s ease-out;margin:0}.user-info{display:flex;align-items:center;gap:15px;background:#ffffffe6;padding:12px 20px;border-radius:25px;box-shadow:0 4px 15px #8b73551a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(139,115,85,.2)}.welcome-text{color:#8b7355;font-weight:500;font-size:1rem}.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:20px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #e74c3c4d}.logout-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c66}.logout-btn:active{transform:translateY(0)}.logout-btn i{font-size:.9rem}.main-container{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:20px;min-height:calc(100vh - 200px)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:#f5f1e8cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;border:1px solid rgba(139,115,85,.2);box-shadow:0 4px 12px #8b73551a}.search-section{flex:1;max-width:400px}.search-input{width:100%;padding:12px 20px;border:2px solid rgba(139,115,85,.3);border-radius:25px;background:#ffffffe6;font-size:16px;font-family:inherit;color:#8b7355;transition:all .3s ease}.search-input:focus{outline:none;border-color:#8b7355;box-shadow:0 0 0 3px #8b73551a}.search-input::placeholder{color:#a0896c}.action-section{display:flex;gap:15px;margin-left:20px}.btn{padding:12px 24px;border:none;border-radius:25px;font-size:16px;font-family:inherit;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#8b7355,#a0896c);color:#fff;box-shadow:0 4px 12px #8b73554d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #8b735566}.btn-secondary{background:#ffffffe6;color:#8b7355;border:2px solid rgba(139,115,85,.3)}.btn-secondary:hover:not(:disabled){background:#8b73551a;transform:translateY(-2px)}.btn-icon{width:40px;height:40px;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:16px}.btn-edit{background:#3498db1a;color:#3498db;border:1px solid rgba(52,152,219,.3)}.btn-edit:hover{background:#3498db33;transform:scale(1.1)}.btn-delete{background:#e74c3c1a;color:#e74c3c;border:1px solid rgba(231,76,60,.3)}.btn-delete:hover{background:#e74c3c33;transform:scale(1.1)}.letters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:25px;margin-bottom:40px}.letter-card{background:#ffffffe6;border-radius:15px;padding:25px;border:1px solid rgba(139,115,85,.2);box-shadow:0 4px 12px #8b73551a;transition:all .3s ease;position:relative;overflow:hidden}.letter-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,115,85,.1),transparent);transition:left .5s ease}.letter-card:hover:before{left:100%}.letter-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #8b735533}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.letter-title{font-size:1.4rem;color:#8b7355;font-weight:600;margin:0 15px 0 0;flex:1}.card-actions{display:flex;gap:8px}.card-meta{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px;font-size:.9rem;color:#a0896c}.card-meta span{background:#8b73551a;padding:4px 12px;border-radius:12px;border:1px solid rgba(139,115,85,.2)}.card-content{color:#6b5b47;line-height:1.6;font-size:.95rem}.loading-container,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#a0896c;grid-column:1 / -1}.loading-spinner{width:40px;height:40px;border:3px solid rgba(139,115,85,.2);border-top:3px solid #8b7355;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.empty-state i{font-size:3rem;margin-bottom:15px;color:#8b7355}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:#f5f1e8fa;border-radius:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;border:2px solid rgba(139,115,85,.3);box-shadow:0 10px 30px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:2px solid rgba(139,115,85,.2);background:#8b73551a}.modal-header h2{color:#8b7355;font-size:1.8rem;margin:0;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#8b7355;cursor:pointer;padding:5px;border-radius:50%;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#8b735533;transform:rotate(90deg)}.letter-form{padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#8b7355;font-weight:500;font-size:1rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:2px solid rgba(139,115,85,.3);border-radius:10px;background:#ffffffe6;font-size:16px;font-family:inherit;color:#8b7355;transition:all .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#8b7355;box-shadow:0 0 0 3px #8b73551a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0896c}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(139,115,85,.2)}@keyframes titleFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes subtitleFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.main-container{padding:15px}.header-content{flex-direction:column;text-align:center;gap:15px}.header-left{text-align:center}.user-info{flex-direction:column;gap:10px;padding:15px 20px}.toolbar{flex-direction:column;gap:15px;align-items:stretch}.action-section{margin-left:0;justify-content:center}.letters-grid,.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:10px}.page-title{font-size:2.2rem}.letter-form{padding:20px}.form-actions{flex-direction:column}}@media (max-width: 480px){.card-header{flex-direction:column;align-items:flex-start;gap:10px}.card-actions{align-self:flex-end}.page-title{font-size:1.8rem;letter-spacing:2px}.page-subtitle{font-size:1rem}.user-info{padding:12px 15px}.welcome-text{font-size:.9rem}.logout-btn{padding:6px 12px;font-size:.8rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);overflow:hidden}.auth-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.bamboo-decoration{position:absolute;top:0;right:0;width:200px;height:100%;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 400"><path d="M20 0 L20 400 M40 0 L40 400 M60 0 L60 400" stroke="%23d4d4aa" stroke-width="3" fill="none" opacity="0.3"/><circle cx="20" cy="50" r="8" fill="%23d4d4aa" opacity="0.4"/><circle cx="40" cy="120" r="8" fill="%23d4d4aa" opacity="0.4"/><circle cx="60" cy="200" r="8" fill="%23d4d4aa" opacity="0.4"/></svg>') repeat-y;opacity:.6}.cloud-decoration{position:absolute;top:10%;left:10%;width:150px;height:80px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 80"><path d="M30 50 Q10 30 30 30 Q50 10 70 30 Q90 10 110 30 Q130 30 110 50 Z" fill="%23ffffff" opacity="0.7"/></svg>') no-repeat;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-container{position:relative;z-index:2;width:100%;max-width:450px;padding:20px}.auth-card{background:#fffffff2;border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#d4af37,#f4e4bc,#d4af37)}.auth-header{text-align:center;margin-bottom:30px}.auth-title{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:8px;font-family:KaiTi,楷体,serif;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.auth-subtitle{color:#7f8c8d;font-size:1rem;margin:0;font-style:italic}.auth-tabs{display:flex;margin-bottom:30px;border-radius:12px;background:#f8f9fa;padding:4px;position:relative}.tab-btn{flex:1;padding:12px 20px;border:none;background:transparent;color:#6c757d;font-size:1rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}.tab-btn.active{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66}.tab-btn:hover:not(.active){color:#495057;background:#6c757d1a}.auth-form{display:flex;flex-direction:column;gap:20px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#2c3e50;margin-bottom:8px;font-size:.9rem}.form-group input{padding:14px 16px;border:2px solid #e9ecef;border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.7}.form-group input::placeholder{color:#adb5bd}.auth-btn{padding:16px;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;transition:all .3s ease;margin-top:10px;position:relative;overflow:hidden}.auth-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-btn:hover:before{left:100%}.auth-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.auth-btn:active{transform:translateY(0)}.auth-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.auth-btn:disabled:before{display:none}.auth-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.auth-footer p{color:#6c757d;font-size:.9rem;margin:0;font-style:italic}@media (max-width: 768px){.auth-container{max-width:100%;padding:15px}.auth-card{padding:30px 25px;margin:20px 0}.auth-title{font-size:2rem}.form-row{flex-direction:column;gap:20px}.bamboo-decoration{width:100px}.cloud-decoration{width:100px;height:60px}}@media (max-width: 480px){.auth-card{padding:25px 20px}.auth-title{font-size:1.8rem}.tab-btn{padding:10px 15px;font-size:.9rem}.form-group input{padding:12px 14px}.auth-btn{padding:14px;font-size:1rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;margin-right:8px}.form-group.error input{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;font-size:.8rem;margin-top:5px}.form-group.success input{border-color:#28a745;box-shadow:0 0 0 3px #28a7451a}.auth-card:after{content:"";position:absolute;bottom:20px;right:20px;width:40px;height:40px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><circle cx="20" cy="20" r="15" fill="none" stroke="%23d4af37" stroke-width="2" opacity="0.3"/><path d="M20 10 L20 30 M10 20 L30 20" stroke="%23d4af37" stroke-width="1" opacity="0.3"/></svg>') no-repeat;opacity:.6}.projects-container{min-height:100%;background:#fff;position:relative;overflow-x:hidden;overflow-y:auto;opacity:0;transform:translateY(20px);transition:all .8s ease}.projects-container.loaded{opacity:1;transform:translateY(0)}.projects-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(102,126,234,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(102,126,234,.03) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(102,126,234,.02) 0%,transparent 50%);animation:float 20s ease-in-out infinite;pointer-events:none}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(-10px) rotate(-1deg)}}.projects-header{padding:80px 20px 60px;text-align:center;position:relative;z-index:1}.header-content{max-width:800px;margin:0 auto}.page-title{font-size:3.5rem;font-weight:700;color:#2c3e50;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:20px;animation:slideInDown 1s ease}.title-icon{font-size:3rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.page-subtitle{font-size:1.3rem;color:#666;margin-bottom:40px;font-weight:300;letter-spacing:.5px;animation:slideInUp 1s ease .3s both}.header-decoration{display:flex;align-items:center;justify-content:center;gap:15px;animation:fadeIn 1s ease .6s both}.decoration-line{width:60px;height:2px;background:linear-gradient(90deg,transparent,rgba(102,126,234,.6),transparent)}.decoration-dot{width:8px;height:8px;border-radius:50%;background:#667eeacc;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.projects-main{padding:0 20px 80px;position:relative;z-index:1}.projects-grid{max-width:1200px;margin:0 auto 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px}.project-card{background:#fffffff2;border-radius:20px;padding:30px;box-shadow:0 20px 40px #0000001a,0 10px 20px #0000000d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;opacity:0;transform:translateY(30px);animation:slideInCard .8s ease forwards}@keyframes slideInCard{to{opacity:1;transform:translateY(0)}}.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 30px 60px #00000026,0 15px 30px #0000001a}.project-card.featured{border:2px solid #ffd700;background:linear-gradient(135deg,#fffffffa,#fff8dcfa)}.project-card.featured:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,gold,#ffed4e,gold);animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-status{display:flex;align-items:center;gap:8px}.status-indicator{width:12px;height:12px;border-radius:50%;animation:statusPulse 2s infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.6}}.status-text{font-size:.9rem;font-weight:500;color:#666}.featured-badge{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;box-shadow:0 4px 8px #ffd7004d}.card-content{margin-bottom:25px}.project-title{font-size:1.8rem;font-weight:700;color:#2c3e50;margin-bottom:15px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-description{font-size:1rem;line-height:1.6;color:#555;margin-bottom:20px}.technologies{margin-top:20px}.tech-title{font-size:.9rem;font-weight:600;color:#666;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500;transition:all .3s ease}.tech-tag:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.card-footer{border-top:1px solid #eee;padding-top:20px}.project-link{display:inline-flex;align-items:center;gap:8px;color:#667eea;text-decoration:none;font-weight:600;transition:all .3s ease;padding:12px 20px;border-radius:25px;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid transparent}.project-link:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translate(5px);border-color:#667eea}.link-arrow{width:16px;height:16px;transition:transform .3s ease}.project-link:hover .link-arrow{transform:translate(3px,-3px)}.coming-soon{max-width:600px;margin:0 auto;text-align:center;padding:40px;background:#667eea0d;border-radius:20px;border:2px dashed rgba(102,126,234,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.coming-soon-content{color:#2c3e50}.coming-soon-icon{font-size:3rem;margin-bottom:20px;animation:rotate 4s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.coming-soon h3{font-size:1.5rem;margin-bottom:10px;font-weight:600}.coming-soon p{font-size:1rem;opacity:.9}.back-to-home{text-align:center;padding:40px 20px}.back-link{display:inline-flex;align-items:center;gap:10px;color:#667eea;text-decoration:none;font-weight:500;padding:15px 30px;border-radius:30px;background:#667eea1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(102,126,234,.2);transition:all .3s ease}.back-link:hover{background:#667eea33;transform:translateY(-2px);box-shadow:0 10px 20px #667eea33}.back-arrow{width:20px;height:20px;transition:transform .3s ease}.back-link:hover .back-arrow{transform:translate(-3px)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.projects-header{padding:60px 20px 40px}.page-title{font-size:2.5rem;flex-direction:column;gap:10px}.title-icon{font-size:2rem}.page-subtitle{font-size:1.1rem}.projects-grid{grid-template-columns:1fr;gap:20px}.project-card{padding:20px}.project-title{font-size:1.5rem}.coming-soon{padding:30px 20px}}@media (max-width: 480px){.projects-header{padding:40px 15px 30px}.page-title{font-size:2rem}.projects-main{padding:0 15px 60px}.project-card{padding:15px}.tech-tags{gap:6px}.tech-tag{padding:4px 8px;font-size:.75rem}}.pic23d-container{position:relative;width:100vw;height:100vh;margin:0;padding:0;background-color:#000;font-family:Arial,sans-serif;overflow:hidden}.upload-area{position:absolute;top:20px;left:20px;z-index:100;background:#ffffffe6;padding:15px;border-radius:8px;box-shadow:0 2px 10px #0000004d}.file-input{margin-bottom:10px}.info{margin-top:10px;font-size:12px;color:#666;line-height:1.4;white-space:pre-line}.canvas{display:block}.loading{color:#007bff;font-size:12px;margin:5px 0;font-weight:700}.error{color:#dc3545;font-size:12px;margin:5px 0;font-weight:700;background-color:#dc35451a;padding:5px;border-radius:4px;border:1px solid rgba(220,53,69,.3)}.file-input:disabled{opacity:.6;cursor:not-allowed}.BlogPage-module__container___F-t6Y{min-height:100vh;background:#fff;padding:0;display:grid;grid-template-columns:1fr 300px;grid-template-rows:auto auto 1fr;grid-template-areas:"header header" "filter filter" "main sidebar";gap:20px;max-width:1400px;margin:0 auto}@media (max-width: 1024px){.BlogPage-module__container___F-t6Y{grid-template-columns:1fr;grid-template-areas:"header" "filter" "sidebar" "main"}}.BlogPage-module__header___PwHcc{grid-area:header;background:#fff;padding:60px 40px;text-align:center;border-radius:0 0 20px 20px;margin:0 20px}@media (max-width: 768px){.BlogPage-module__header___PwHcc{padding:40px 20px;margin:0 10px}}.BlogPage-module__headerContent___vdFeB{max-width:600px;margin:0 auto}.BlogPage-module__title___GL1xY{font-size:3rem;height:4rem;line-height:4rem;font-weight:700;color:#2d3748;margin:0 0 16px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.BlogPage-module__title___GL1xY{font-size:2.5rem}}.BlogPage-module__subtitle___3dzJe{font-size:1.2rem;color:#718096;margin:0;font-weight:300}.BlogPage-module__filterSection___uu3lp{grid-area:filter;background:#fff;padding:30px 40px;border-radius:20px;box-shadow:0 2px 10px #00000014;margin:0 20px;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #e2e8f0}@media (max-width: 768px){.BlogPage-module__filterSection___uu3lp{flex-direction:column;padding:20px;margin:0 10px;gap:15px}}.BlogPage-module__searchBox___F3K7R{position:relative;flex:1;max-width:400px}.BlogPage-module__searchInput___Ioo5D{width:100%;padding:12px 16px 12px 45px;border:2px solid #e2e8f0;border-radius:25px;font-size:1rem;background:#fff;transition:all .3s ease}.BlogPage-module__searchInput___Ioo5D:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.BlogPage-module__searchInput___Ioo5D::placeholder{color:#a0aec0}.BlogPage-module__searchIcon___Zi18-{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:20px;height:20px;fill:#a0aec0}.BlogPage-module__categoryFilter___mdqUn{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 768px){.BlogPage-module__categoryFilter___mdqUn{justify-content:center}}.BlogPage-module__categoryBtn___n3xMv{padding:8px 20px;border:2px solid #e2e8f0;border-radius:20px;background:#fff;color:#4a5568;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.BlogPage-module__categoryBtn___n3xMv:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.BlogPage-module__categoryBtn___n3xMv.BlogPage-module__active___irXMY{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 15px #667eea4d}.BlogPage-module__mainContent___NVkKC{grid-area:main;padding:0 20px}@media (max-width: 768px){.BlogPage-module__mainContent___NVkKC{padding:0 10px}}.BlogPage-module__postsGrid___fqUm-{display:grid;gap:30px}.BlogPage-module__postCard___SU5cw{background:#fff;border-radius:20px;padding:30px;box-shadow:0 2px 10px #00000014;transition:all .3s ease;border:1px solid #e2e8f0}.BlogPage-module__postCard___SU5cw:hover{transform:translateY(-5px);box-shadow:0 4px 20px #0000001f}@media (max-width: 768px){.BlogPage-module__postCard___SU5cw{padding:20px}}.BlogPage-module__postHeader___o9skF{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.BlogPage-module__category___m6AT2{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:500}.BlogPage-module__readTime___16CxX{color:#a0aec0;font-size:.9rem}.BlogPage-module__postTitle___MpIgO{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0 0 12px;line-height:1.4}.BlogPage-module__postExcerpt___mTgdO{color:#718096;line-height:1.6;margin:0 0 20px;font-size:1rem}.BlogPage-module__postMeta___m7nIH{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px}.BlogPage-module__postDate___2XBqh{color:#a0aec0;font-size:.9rem}.BlogPage-module__tags___EU77x{display:flex;gap:8px;flex-wrap:wrap}.BlogPage-module__tag___PTKbG{background:#f7fafc;color:#4a5568;padding:4px 8px;border-radius:8px;font-size:.8rem;border:1px solid #e2e8f0}.BlogPage-module__postFooter___3JSUo{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.BlogPage-module__viewCount___08NSs{display:flex;align-items:center;gap:4px;color:#a0aec0;font-size:.9rem;font-weight:500}.BlogPage-module__readMoreBtn___-OVeh{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.BlogPage-module__readMoreBtn___-OVeh:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.BlogPage-module__arrowIcon___61C3y{width:16px;height:16px;fill:currentColor;transition:transform .3s ease}.BlogPage-module__readMoreBtn___-OVeh:hover .BlogPage-module__arrowIcon___61C3y{transform:translate(4px)}.BlogPage-module__emptyState___5jGpV{text-align:center;padding:60px 20px;color:#a0aec0}.BlogPage-module__emptyIcon___J5S30{width:64px;height:64px;fill:#e2e8f0;margin-bottom:16px}.BlogPage-module__sidebar___HHGhH{grid-area:sidebar;padding:0 20px;display:flex;flex-direction:column;gap:20px}@media (max-width: 1024px){.BlogPage-module__sidebar___HHGhH{padding:0 20px}}@media (max-width: 768px){.BlogPage-module__sidebar___HHGhH{padding:0 10px}}.BlogPage-module__sidebarCard___nMSjs{background:#fff;border-radius:20px;padding:25px;box-shadow:0 2px 10px #00000014;border:1px solid #e2e8f0}.BlogPage-module__sidebarTitle___WDkVv{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid #e2e8f0}.BlogPage-module__authorInfo___Fo-Q6{text-align:center}.BlogPage-module__authorAvatar___eiq6X{width:80px;height:80px;border-radius:50%;margin-bottom:15px;border:3px solid #667eea}.BlogPage-module__authorDesc___AUwlp{color:#718096;line-height:1.6;margin:0;font-size:.9rem}.BlogPage-module__popularTags___qn1wC{display:flex;flex-wrap:wrap;gap:8px}.BlogPage-module__popularTag___m7GaU{background:#f7fafc;color:#4a5568;padding:6px 12px;border-radius:12px;font-size:.8rem;border:1px solid #e2e8f0;cursor:pointer;transition:all .3s ease}.BlogPage-module__popularTag___m7GaU:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.BlogPage-module__recentPosts___oDiiL{display:flex;flex-direction:column;gap:15px}.BlogPage-module__recentPost___EW1aB{padding-bottom:15px;border-bottom:1px solid #e2e8f0}.BlogPage-module__recentPost___EW1aB:last-child{border-bottom:none;padding-bottom:0}.BlogPage-module__recentPostTitle___o2e5K{font-size:.9rem;font-weight:500;color:#2d3748;margin:0 0 5px;line-height:1.4;cursor:pointer;transition:color .3s ease}.BlogPage-module__recentPostTitle___o2e5K:hover{color:#667eea}.BlogPage-module__recentPostDate___Bp4-O{color:#a0aec0;font-size:.8rem}.BlogPage-module__loading___CRyiB{display:flex;justify-content:center;align-items:center;padding:60px 20px;color:#a0aec0;font-size:1.1rem}.BlogPage-module__loadingSpinner___3Hnb2{width:40px;height:40px;border:3px solid #e2e8f0;border-top:3px solid #667eea;border-radius:50%;animation:BlogPage-module__spin___DBArN 1s linear infinite;margin-right:15px}@keyframes BlogPage-module__spin___DBArN{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.BlogPage-module__authorMeta___sHgp4{display:flex;align-items:center;gap:8px;color:#718096;font-size:.9rem}.BlogPage-module__pagination___wGZeV{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:40px;padding:20px}.BlogPage-module__paginationBtn___P2Tx6{padding:8px 16px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:.9rem;cursor:pointer;transition:all .3s ease}.BlogPage-module__paginationBtn___P2Tx6:hover:not(:disabled){border-color:#667eea;color:#667eea}.BlogPage-module__paginationBtn___P2Tx6:disabled{opacity:.5;cursor:not-allowed}.BlogPage-module__paginationBtn___P2Tx6.BlogPage-module__active___irXMY{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.BlogPage-module__paginationInfo___sFKST{color:#718096;font-size:.9rem;margin:0 15px}@keyframes BlogPage-module__fadeInUp___SDWF-{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.BlogPage-module__postCard___SU5cw{animation:BlogPage-module__fadeInUp___SDWF- .6s ease-out}@media (max-width: 480px){.BlogPage-module__container___F-t6Y{margin:0 5px}.BlogPage-module__header___PwHcc{margin:0 5px;padding:30px 15px}.BlogPage-module__title___GL1xY{font-size:2rem}.BlogPage-module__filterSection___uu3lp{margin:0 5px;padding:15px}.BlogPage-module__postCard___SU5cw{padding:15px}.BlogPage-module__postTitle___MpIgO{font-size:1.3rem}.BlogPage-module__sidebar___HHGhH{padding:0 5px}.BlogPage-module__sidebarCard___nMSjs{padding:20px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.BlogDetailPage-module__container___9AqF6{max-width:800px;margin:0 auto;padding:20px;background:#fff;min-height:100vh}.BlogDetailPage-module__loading___i19q3{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px}.BlogDetailPage-module__loading___i19q3 .BlogDetailPage-module__spinner___CVyXC{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1890ff;border-radius:50%;animation:BlogDetailPage-module__spin___V8Coy 1s linear infinite}.BlogDetailPage-module__loading___i19q3 p{margin-top:16px;color:#666}@keyframes BlogDetailPage-module__spin___V8Coy{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.BlogDetailPage-module__notFound___-ARE2{text-align:center;padding:60px 20px}.BlogDetailPage-module__notFound___-ARE2 h2{color:#666;margin-bottom:24px}.BlogDetailPage-module__navigation___6CHQA{margin-bottom:32px}.BlogDetailPage-module__backBtn___GxrZW{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;color:#666;text-decoration:none;font-size:14px;cursor:pointer;transition:all .2s ease}.BlogDetailPage-module__backBtn___GxrZW:hover{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.BlogDetailPage-module__backBtn___GxrZW .BlogDetailPage-module__backIcon___6R-hS{width:16px;height:16px;fill:currentColor}.BlogDetailPage-module__article___PzpBb{background:#fff;border-radius:8px;overflow:hidden}.BlogDetailPage-module__articleHeader___aodsP{padding:32px 0;border-bottom:1px solid #f0f0f0}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__meta___9lyiZ{display:flex;align-items:center;gap:16px;margin-bottom:16px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__meta___9lyiZ .BlogDetailPage-module__category___RNyYS{background:#1890ff;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__meta___9lyiZ .BlogDetailPage-module__readTime___WEaKO{color:#666;font-size:14px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__title___11cNE{font-size:32px;font-weight:700;line-height:1.3;color:#262626;margin:0 0 24px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn .BlogDetailPage-module__authorInfo___f13rn{display:flex;align-items:center;gap:12px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn .BlogDetailPage-module__authorInfo___f13rn .BlogDetailPage-module__author___cV0M2{font-weight:500;color:#262626}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn .BlogDetailPage-module__authorInfo___f13rn .BlogDetailPage-module__date___Zzm2f,.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn .BlogDetailPage-module__stats___0Ygph .BlogDetailPage-module__viewCount___nh3Zf{color:#666;font-size:14px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__tags___9s604{display:flex;flex-wrap:wrap;gap:8px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__tags___9s604 .BlogDetailPage-module__tag___bkDMv{background:#f6f6f6;color:#666;padding:4px 8px;border-radius:4px;font-size:12px;transition:all .2s ease}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__tags___9s604 .BlogDetailPage-module__tag___bkDMv:hover{background:#e6f7ff;color:#1890ff}.BlogDetailPage-module__content___85Pwk{padding:40px 0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL{line-height:1.8;font-size:16px;color:#262626;word-wrap:break-word}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h1,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h2,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h3,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h4,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h5,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h6{margin:32px 0 16px;font-weight:600;line-height:1.4;color:#1a1a1a}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h1:first-child,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h2:first-child,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h3:first-child,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h4:first-child,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h5:first-child,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h6:first-child{margin-top:0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h1{font-size:28px;border-bottom:2px solid #eee;padding-bottom:8px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h2{font-size:24px;border-bottom:1px solid #eee;padding-bottom:6px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h3{font-size:20px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h4{font-size:18px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h5{font-size:16px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h6{font-size:14px;color:#666}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL p{margin:16px 0;text-align:justify;line-height:1.8}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL blockquote{margin:24px 0;padding:16px 20px;background:#f8f9fa;border-left:4px solid #1890ff;border-radius:0 4px 4px 0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL blockquote p{margin:8px 0;color:#666;font-style:italic}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL blockquote p:first-child{margin-top:0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL blockquote p:last-child{margin-bottom:0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL code{background:#f1f3f4;padding:2px 6px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:14px;color:#d73a49}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL pre{background:#f6f8fa;padding:16px;border-radius:6px;overflow-x:auto;margin:24px 0;border:1px solid #e1e4e8}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL pre code{background:none;padding:0;color:inherit;font-size:14px;line-height:1.45}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol{margin:16px 0;padding-left:24px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul li,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol li{margin:8px 0;line-height:1.6}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul li p,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol li p{margin:4px 0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul ul,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol ul,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul ol,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol ol{margin:8px 0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul{list-style-type:disc}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul ul{list-style-type:circle}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ul ul ul{list-style-type:square}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL ol{list-style-type:decimal}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL img{max-width:100%;height:auto;border-radius:6px;margin:24px 0;box-shadow:0 2px 8px #0000001a;display:block}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL a{color:#1890ff;text-decoration:none}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL a:hover{text-decoration:underline}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid #e1e4e8}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL table th,.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL table td{padding:12px 16px;text-align:left;border:1px solid #e1e4e8}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL table th{background:#f6f8fa;font-weight:600}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL table tr:nth-child(2n){background:#f9f9f9}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL hr{border:none;height:1px;background:#e1e4e8;margin:32px 0}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL del{text-decoration:line-through;color:#666}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL strong{font-weight:600;color:#1a1a1a}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL em{font-style:italic}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL input[type=checkbox]{margin-right:8px}.BlogDetailPage-module__articleFooter___dPovj{padding:32px 0;border-top:1px solid #f0f0f0}.BlogDetailPage-module__articleFooter___dPovj .BlogDetailPage-module__shareSection___d2QO5 h3{font-size:18px;margin-bottom:16px;color:#262626}.BlogDetailPage-module__articleFooter___dPovj .BlogDetailPage-module__shareSection___d2QO5 .BlogDetailPage-module__shareButtons___V4z1i{display:flex;gap:12px}.BlogDetailPage-module__articleFooter___dPovj .BlogDetailPage-module__shareSection___d2QO5 .BlogDetailPage-module__shareButtons___V4z1i .BlogDetailPage-module__shareBtn___v4xHA{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;color:#666;cursor:pointer;transition:all .2s ease}.BlogDetailPage-module__articleFooter___dPovj .BlogDetailPage-module__shareSection___d2QO5 .BlogDetailPage-module__shareButtons___V4z1i .BlogDetailPage-module__shareBtn___v4xHA:hover{background:#e6f7ff;border-color:#1890ff;color:#1890ff}.BlogDetailPage-module__articleFooter___dPovj .BlogDetailPage-module__shareSection___d2QO5 .BlogDetailPage-module__shareButtons___V4z1i .BlogDetailPage-module__shareBtn___v4xHA svg{width:16px;height:16px;fill:currentColor}.BlogDetailPage-module__relatedPosts___UmZmF{margin-top:48px;padding:32px 0;border-top:1px solid #f0f0f0}.BlogDetailPage-module__relatedPosts___UmZmF h3{font-size:20px;margin-bottom:24px;color:#262626}.BlogDetailPage-module__relatedPosts___UmZmF .BlogDetailPage-module__comingSoon___A7ZDl{color:#666;font-style:italic;text-align:center;padding:40px 0}@media (max-width: 768px){.BlogDetailPage-module__container___9AqF6{padding:16px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__title___11cNE{font-size:24px}.BlogDetailPage-module__articleHeader___aodsP .BlogDetailPage-module__articleMeta___haXdn{flex-direction:column;align-items:flex-start;gap:12px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL{font-size:15px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h1{font-size:24px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h2{font-size:20px}.BlogDetailPage-module__content___85Pwk .BlogDetailPage-module__markdown___6qhBL h3{font-size:18px}}.w-md-editor-bar{position:absolute;cursor:s-resize;right:0;bottom:0;margin-top:-11px;margin-right:0;width:14px;z-index:3;height:10px;border-radius:0 0 3px;-webkit-user-select:none;user-select:none}.w-md-editor-bar svg{display:block;margin:0 auto}.w-md-editor-area{overflow:auto;border-radius:5px}.w-md-editor-text{min-height:100%;position:relative;text-align:left;white-space:pre-wrap;word-break:keep-all;overflow-wrap:break-word;box-sizing:border-box;padding:10px;margin:0;font-size:14px!important;line-height:18px!important;font-variant-ligatures:common-ligatures}.w-md-editor-text-pre,.w-md-editor-text-input,.w-md-editor-text>.w-md-editor-text-pre{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-family:var(--md-editor-font-family)!important;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:inherit;overflow-wrap:inherit;word-break:inherit;word-break:normal;padding:0}.w-md-editor-text-pre{position:relative;margin:0!important;pointer-events:none;background-color:transparent!important}.w-md-editor-text-pre>code{padding:0!important;font-family:var(--md-editor-font-family)!important;font-size:14px!important;line-height:18px!important}.w-md-editor-text-input{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;outline:0;padding:inherit;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.w-md-editor-text-input:empty{-webkit-text-fill-color:inherit!important}.w-md-editor-text-pre,.w-md-editor-text-input{word-wrap:pre;word-break:break-word;white-space:pre-wrap}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.w-md-editor-text-input{color:transparent!important}.w-md-editor-text-input::selection{background-color:#accef7!important;color:transparent!important}}.w-md-editor-text-pre .punctuation{color:var(--color-prettylights-syntax-comment, #8b949e)!important}.w-md-editor-text-pre .token.url,.w-md-editor-text-pre .token.content{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.title.important{color:var(--color-prettylights-syntax-markup-bold, #24292f)}.w-md-editor-text-pre .token.code-block .function{color:var(--color-prettylights-syntax-entity, #8250df)}.w-md-editor-text-pre .token.bold{font-weight:unset!important}.w-md-editor-text-pre .token.title{line-height:unset!important;font-size:unset!important;font-weight:unset!important}.w-md-editor-text-pre .token.code.keyword{color:var(--color-prettylights-syntax-constant, #0550ae)!important}.w-md-editor-text-pre .token.strike,.w-md-editor-text-pre .token.strike .content{color:var(--color-prettylights-syntax-markup-deleted-text, #82071e)!important}.w-md-editor-toolbar-child{position:absolute;border-radius:3px;box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);z-index:1;display:none}.w-md-editor-toolbar-child.active{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar{border-bottom:0;padding:3px;border-radius:3px}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li{display:block}.w-md-editor-toolbar-child .w-md-editor-toolbar ul>li button{width:-webkit-fill-available;height:initial;box-sizing:border-box;padding:3px 4px 2px;margin:0}.w-md-editor-toolbar{border-bottom:1px solid var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);padding:3px;display:flex;justify-content:space-between;align-items:center;border-radius:3px 3px 0 0;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.w-md-editor-toolbar.bottom{border-bottom:0px;border-top:1px solid var(--md-editor-box-shadow-color);border-radius:0 0 3px 3px}.w-md-editor-toolbar ul,.w-md-editor-toolbar li{margin:0;padding:0;list-style:none;line-height:initial}.w-md-editor-toolbar li{display:inline-block;font-size:14px}.w-md-editor-toolbar li+li{margin:0}.w-md-editor-toolbar li>button{border:none;height:20px;line-height:14px;background:none;padding:4px;margin:0 1px;border-radius:2px;text-transform:none;font-weight:400;overflow:visible;outline:none;cursor:pointer;transition:all .3s;white-space:nowrap;color:var(--color-fg-default)}.w-md-editor-toolbar li>button:hover,.w-md-editor-toolbar li>button:focus{background-color:var(--color-neutral-muted);color:var(--color-accent-fg)}.w-md-editor-toolbar li>button:active{background-color:var(--color-neutral-muted);color:var(--color-danger-fg)}.w-md-editor-toolbar li>button:disabled{color:var(--md-editor-box-shadow-color);cursor:not-allowed}.w-md-editor-toolbar li>button:disabled:hover{background-color:transparent;color:var(--md-editor-box-shadow-color)}.w-md-editor-toolbar li.active>button{color:var(--color-accent-fg);background-color:var(--color-neutral-muted)}.w-md-editor-toolbar-divider{height:14px;width:1px;margin:-3px 3px 0!important;vertical-align:middle;background-color:var(--md-editor-box-shadow-color)}.w-md-editor{text-align:left;border-radius:3px;padding-bottom:1px;position:relative;color:var(--color-fg-default);--md-editor-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;--md-editor-background-color: var(--color-canvas-default, #ffffff);--md-editor-box-shadow-color: var(--color-border-default, #d0d7de);box-shadow:0 0 0 1px var(--md-editor-box-shadow-color),0 0 0 var(--md-editor-box-shadow-color),0 1px 1px var(--md-editor-box-shadow-color);background-color:var(--md-editor-background-color);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}.w-md-editor.w-md-editor-rtl{direction:rtl!important;text-align:right!important}.w-md-editor.w-md-editor-rtl .w-md-editor-preview{right:unset!important;left:0;text-align:right!important;box-shadow:inset -1px 0 0 0 var(--md-editor-box-shadow-color)}.w-md-editor.w-md-editor-rtl .w-md-editor-text{text-align:right!important}.w-md-editor-toolbar{height:fit-content}.w-md-editor-content{height:100%;overflow:auto;position:relative;border-radius:0 0 3px}.w-md-editor .copied{display:none!important}.w-md-editor-input{width:50%;height:100%}.w-md-editor-text-pre>code{word-break:break-word!important;white-space:pre-wrap!important}.w-md-editor-preview{width:50%;box-sizing:border-box;box-shadow:inset 1px 0 0 0 var(--md-editor-box-shadow-color);position:absolute;padding:10px 20px;overflow:auto;top:0;right:0;bottom:0;border-radius:0 0 5px;display:flex;flex-direction:column}.w-md-editor-preview .anchor{display:none}.w-md-editor-preview .contains-task-list li.task-list-item{list-style:none}.w-md-editor-show-preview .w-md-editor-input{width:0%;overflow:hidden;background-color:var(--md-editor-background-color)}.w-md-editor-show-preview .w-md-editor-preview{width:100%;box-shadow:inset 0 0}.w-md-editor-show-edit .w-md-editor-input{width:100%}.w-md-editor-show-edit .w-md-editor-preview{width:0%;padding:0}.w-md-editor-fullscreen{overflow:hidden;position:fixed;z-index:99999;top:0;left:0;right:0;bottom:0;height:100%!important}.w-md-editor-fullscreen .w-md-editor-content{height:100%}@media (prefers-color-scheme: dark){.wmde-markdown,.wmde-markdown-var{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-copied-active-bg: #2e9b33}}@media (prefers-color-scheme: light){.wmde-markdown,.wmde-markdown-var{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-copied-active-bg: #2e9b33}}[data-color-mode*=dark] .wmde-markdown,[data-color-mode*=dark] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=dark],.wmde-markdown[data-color-mode*=dark],body[data-color-mode*=dark]{color-scheme:dark;--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-fg-default: #c9d1d9;--color-fg-muted: #8b949e;--color-fg-subtle: #484f58;--color-canvas-default: #0d1117;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-neutral-muted: rgba(110, 118, 129, .4);--color-accent-fg: #58a6ff;--color-accent-emphasis: #1f6feb;--color-attention-subtle: rgba(187, 128, 9, .15);--color-danger-fg: #f85149}[data-color-mode*=light] .wmde-markdown,[data-color-mode*=light] .wmde-markdown-var,.wmde-markdown-var[data-color-mode*=light],.wmde-markdown[data-color-mode*=light],body[data-color-mode*=light]{color-scheme:light;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #8250df;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-fg-default: #24292f;--color-fg-muted: #57606a;--color-fg-subtle: #6e7781;--color-canvas-default: #ffffff;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsl(210, 18%, 87%);--color-neutral-muted: rgba(175, 184, 193, .2);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-attention-subtle: #fff8c5;--color-danger-fg: #cf222e}.wmde-markdown{-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;color:var(--color-fg-default);background-color:var(--color-canvas-default)}.wmde-markdown details,.wmde-markdown figcaption,.wmde-markdown figure{display:block}.wmde-markdown summary{display:list-item}.wmde-markdown [hidden]{display:none!important}.wmde-markdown a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}.wmde-markdown a:active,.wmde-markdown a:hover{outline-width:0}.wmde-markdown abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.wmde-markdown b,.wmde-markdown strong{font-weight:600}.wmde-markdown dfn{font-style:italic}.wmde-markdown h1{margin:.67em 0;font-weight:600;padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown mark{background-color:var(--color-attention-subtle);color:var(--color-text-primary)}.wmde-markdown small{font-size:90%}.wmde-markdown sub,.wmde-markdown sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.wmde-markdown sub{bottom:-.25em}.wmde-markdown sup{top:-.5em}.wmde-markdown img{display:inline-block;border-style:none;max-width:100%;box-sizing:content-box;background-color:var(--color-canvas-default)}.wmde-markdown code,.wmde-markdown kbd,.wmde-markdown pre,.wmde-markdown samp{font-family:monospace,monospace;font-size:1em}.wmde-markdown figure{margin:1em 40px}.wmde-markdown hr{box-sizing:content-box;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-muted);height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-default)}.wmde-markdown input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.wmde-markdown [type=button],.wmde-markdown [type=reset],.wmde-markdown [type=submit]{-webkit-appearance:button}.wmde-markdown [type=button]::-moz-focus-inner,.wmde-markdown [type=reset]::-moz-focus-inner,.wmde-markdown [type=submit]::-moz-focus-inner{border-style:none;padding:0}.wmde-markdown [type=button]:-moz-focusring,.wmde-markdown [type=reset]:-moz-focusring,.wmde-markdown [type=submit]:-moz-focusring{outline:1px dotted ButtonText}.wmde-markdown [type=checkbox],.wmde-markdown [type=radio]{box-sizing:border-box;padding:0}.wmde-markdown [type=number]::-webkit-inner-spin-button,.wmde-markdown [type=number]::-webkit-outer-spin-button{height:auto}.wmde-markdown [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.wmde-markdown [type=search]::-webkit-search-cancel-button,.wmde-markdown [type=search]::-webkit-search-decoration{-webkit-appearance:none}.wmde-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.wmde-markdown ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown hr:before{display:table;content:""}.wmde-markdown hr:after{display:table;clear:both;content:""}.wmde-markdown table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%}.wmde-markdown td,.wmde-markdown th{padding:0}.wmde-markdown details summary{cursor:pointer}.wmde-markdown details:not([open])>*:not(summary){display:none!important}.wmde-markdown kbd{display:inline-block;padding:3px 5px;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;color:var(--color-fg-default);vertical-align:middle;background-color:var(--color-canvas-subtle);border:solid 1px var(--color-neutral-muted);border-bottom-color:var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted)}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4,.wmde-markdown h5,.wmde-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.wmde-markdown h2{font-weight:600;padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--color-border-muted)}.wmde-markdown h3{font-weight:600;font-size:1.25em}.wmde-markdown h4{font-weight:600;font-size:1em}.wmde-markdown h5{font-weight:600;font-size:.875em}.wmde-markdown h6{font-weight:600;font-size:.85em;color:var(--color-fg-muted)}.wmde-markdown p{margin-top:0;margin-bottom:10px}.wmde-markdown blockquote{margin:0;padding:0 1em;color:var(--color-fg-muted);border-left:.25em solid var(--color-border-default)}.wmde-markdown ul,.wmde-markdown ol{margin-top:0;margin-bottom:0;padding-left:2em}.wmde-markdown ol ol,.wmde-markdown ul ol{list-style-type:lower-roman}.wmde-markdown ul ul ol,.wmde-markdown ul ol ol,.wmde-markdown ol ul ol,.wmde-markdown ol ol ol{list-style-type:lower-alpha}.wmde-markdown dd{margin-left:0}.wmde-markdown tt,.wmde-markdown code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}.wmde-markdown pre{margin-top:0;margin-bottom:0;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;word-wrap:normal}.wmde-markdown .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.wmde-markdown ::placeholder{color:var(--color-fg-subtle);opacity:1}.wmde-markdown input::-webkit-outer-spin-button,.wmde-markdown input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.wmde-markdown [data-catalyst]{display:block}.wmde-markdown:before{display:table;content:""}.wmde-markdown:after{display:table;clear:both;content:""}.wmde-markdown>*:first-child{margin-top:0!important}.wmde-markdown>*:last-child{margin-bottom:0!important}.wmde-markdown a:not([href]){color:inherit;text-decoration:none}.wmde-markdown .absent{color:var(--color-danger-fg)}.wmde-markdown a.anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.wmde-markdown .anchor:focus{outline:none}.wmde-markdown p,.wmde-markdown blockquote,.wmde-markdown ul,.wmde-markdown ol,.wmde-markdown dl,.wmde-markdown table,.wmde-markdown pre,.wmde-markdown details{margin-top:0;margin-bottom:16px}.wmde-markdown blockquote>:first-child{margin-top:0}.wmde-markdown blockquote>:last-child{margin-bottom:0}.wmde-markdown sup>a:before{content:"["}.wmde-markdown sup>a:after{content:"]"}.wmde-markdown h1 .octicon-link,.wmde-markdown h2 .octicon-link,.wmde-markdown h3 .octicon-link,.wmde-markdown h4 .octicon-link,.wmde-markdown h5 .octicon-link,.wmde-markdown h6 .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}.wmde-markdown h1:hover .anchor,.wmde-markdown h2:hover .anchor,.wmde-markdown h3:hover .anchor,.wmde-markdown h4:hover .anchor,.wmde-markdown h5:hover .anchor,.wmde-markdown h6:hover .anchor{text-decoration:none}.wmde-markdown h1:hover .anchor .octicon-link,.wmde-markdown h2:hover .anchor .octicon-link,.wmde-markdown h3:hover .anchor .octicon-link,.wmde-markdown h4:hover .anchor .octicon-link,.wmde-markdown h5:hover .anchor .octicon-link,.wmde-markdown h6:hover .anchor .octicon-link{visibility:visible}.wmde-markdown h1 tt,.wmde-markdown h1 code,.wmde-markdown h2 tt,.wmde-markdown h2 code,.wmde-markdown h3 tt,.wmde-markdown h3 code,.wmde-markdown h4 tt,.wmde-markdown h4 code,.wmde-markdown h5 tt,.wmde-markdown h5 code,.wmde-markdown h6 tt,.wmde-markdown h6 code{padding:0 .2em;font-size:inherit}.wmde-markdown ul.no-list,.wmde-markdown ol.no-list{padding:0;list-style-type:none}.wmde-markdown ol[type="1"]{list-style-type:decimal}.wmde-markdown ol[type=a]{list-style-type:lower-alpha}.wmde-markdown ol[type=i]{list-style-type:lower-roman}.wmde-markdown div>ol:not([type]){list-style-type:decimal}.wmde-markdown ul ul,.wmde-markdown ul ol,.wmde-markdown ol ol,.wmde-markdown ol ul{margin-top:0;margin-bottom:0}.wmde-markdown li>p{margin-top:16px}.wmde-markdown li+li{margin-top:.25em}.wmde-markdown dl{padding:0}.wmde-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.wmde-markdown dl dd{padding:0 16px;margin-bottom:16px}.wmde-markdown table th{font-weight:600}.wmde-markdown table th,.wmde-markdown table td{padding:6px 13px;border:1px solid var(--color-border-default)}.wmde-markdown table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}.wmde-markdown table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}.wmde-markdown table img{background-color:transparent}.wmde-markdown img[align=right]{padding-left:20px}.wmde-markdown img[align=left]{padding-right:20px}.wmde-markdown .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.wmde-markdown span.frame{display:block;overflow:hidden}.wmde-markdown span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-border-default)}.wmde-markdown span.frame span img{display:block;float:left}.wmde-markdown span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-fg-default)}.wmde-markdown span.align-center{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.wmde-markdown span.align-center span img{margin:0 auto;text-align:center}.wmde-markdown span.align-right{display:block;overflow:hidden;clear:both}.wmde-markdown span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.wmde-markdown span.align-right span img{margin:0;text-align:right}.wmde-markdown span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.wmde-markdown span.float-left span{margin:13px 0 0}.wmde-markdown span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.wmde-markdown span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.wmde-markdown code,.wmde-markdown tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-neutral-muted);border-radius:6px}.wmde-markdown code br,.wmde-markdown tt br{display:none}.wmde-markdown del code{text-decoration:inherit}.wmde-markdown pre code{font-size:100%}.wmde-markdown pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.wmde-markdown pre{font-size:85%;line-height:1.45;background-color:var(--color-canvas-subtle);border-radius:6px}.wmde-markdown pre code,.wmde-markdown pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.wmde-markdown pre>code{padding:16px;overflow:auto;display:block}.wmde-markdown pre>code::-webkit-scrollbar{background:transparent;width:8px;height:8px}.wmde-markdown pre>code::-webkit-scrollbar-thumb{background:var(--color-fg-muted);border-radius:10px}.wmde-markdown .csv-data td,.wmde-markdown .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.wmde-markdown .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-canvas-default);border:0}.wmde-markdown .csv-data tr{border-top:0}.wmde-markdown .csv-data th{font-weight:600;background:var(--color-canvas-subtle);border-top:0}.wmde-markdown .footnotes{font-size:12px;color:var(--color-fg-muted);border-top:1px solid var(--color-border-default)}.wmde-markdown .footnotes ol{padding-left:16px}.wmde-markdown .footnotes li{position:relative}.wmde-markdown .footnotes li:target:before{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-24px;pointer-events:none;content:"";border:2px solid var(--color-accent-emphasis);border-radius:6px}.wmde-markdown .footnotes li:target{color:var(--color-fg-default)}.wmde-markdown .footnotes .data-footnote-backref g-emoji{font-family:monospace}.wmde-markdown .task-list-item{list-style-type:none}.wmde-markdown .task-list-item label{font-weight:400}.wmde-markdown .task-list-item.enabled label{cursor:pointer}.wmde-markdown .task-list-item+.wmde-markdown .task-list-item{margin-top:3px}.wmde-markdown .task-list-item .handle{display:none}.wmde-markdown .task-list-item-checkbox,.wmde-markdown .contains-task-list input[type=checkbox]{margin:0 .2em .25em -1.6em;vertical-align:middle}.wmde-markdown .contains-task-list:dir(rtl) .task-list-item-checkbox,.wmde-markdown .contains-task-list:dir(rtl) input[type=checkbox]{margin:0 -1.6em .25em .2em}.wmde-markdown ::-webkit-calendar-picker-indicator{filter:invert(50%)}.wmde-markdown pre{position:relative}.wmde-markdown pre .copied{visibility:hidden;display:flex;position:absolute;cursor:pointer;color:var(--color-fg-default);top:6px;right:6px;border-radius:5px;background:var(--color-border-default);padding:6px;font-size:12px;transition:all .3s}.wmde-markdown pre .copied .octicon-copy{display:block}.wmde-markdown pre .copied .octicon-check{display:none}.wmde-markdown pre:hover .copied{visibility:visible}.wmde-markdown pre:hover .copied:hover{background:var(--color-prettylights-syntax-entity-tag);color:var(--color-canvas-default)}.wmde-markdown pre:hover .copied:active,.wmde-markdown pre .copied.active{background:var(--color-copied-active-bg);color:var(--color-canvas-default)}.wmde-markdown pre .active .octicon-copy{display:none}.wmde-markdown pre .active .octicon-check{display:block}.wmde-markdown .markdown-alert{padding:.5rem 1em;color:inherit;margin-bottom:16px;border-left:.25em solid var(--borderColor-default, var(--color-border-default))}.wmde-markdown .markdown-alert>:last-child{margin-bottom:0!important}.wmde-markdown .markdown-alert .markdown-alert-title{display:flex;align-items:center;line-height:1;font-weight:500;font-size:14px}.wmde-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:var(--base-size-8, 8px)!important}.wmde-markdown .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis, var(--color-accent-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent, var(--color-accent-fg))}.wmde-markdown .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis, var(--color-success-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success, var(--color-success-fg))}.wmde-markdown .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis, var(--color-done-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done, var(--color-done-fg))}.wmde-markdown .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis, var(--color-attention-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention, var(--color-attention-fg))}.wmde-markdown .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis, var(--color-danger-emphasis))}.wmde-markdown .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger, var(--color-danger-fg))}.wmde-markdown .highlight-line{background-color:var(--color-neutral-muted)}.wmde-markdown .code-line.line-number:before{display:inline-block;width:1rem;text-align:right;margin-right:16px;color:var(--color-fg-subtle);content:attr(line);white-space:nowrap}.wmde-markdown .token.comment,.wmde-markdown .token.prolog,.wmde-markdown .token.doctype,.wmde-markdown .token.cdata{color:var(--color-prettylights-syntax-comment)}.wmde-markdown .token.namespace{opacity:.7}.wmde-markdown .token.property,.wmde-markdown .token.tag,.wmde-markdown .token.selector,.wmde-markdown .token.constant,.wmde-markdown .token.symbol,.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-entity-tag)}.wmde-markdown .token.maybe-class-name{color:var(--color-prettylights-syntax-variable)}.wmde-markdown .token.property-access,.wmde-markdown .token.operator,.wmde-markdown .token.boolean,.wmde-markdown .token.number,.wmde-markdown .token.selector .token.class,.wmde-markdown .token.attr-name,.wmde-markdown .token.string,.wmde-markdown .token.char,.wmde-markdown .token.builtin{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.deleted{color:var(--color-prettylights-syntax-markup-deleted-text)}.wmde-markdown .code-line .token.deleted{background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.wmde-markdown .token.inserted{color:var(--color-prettylights-syntax-markup-inserted-text)}.wmde-markdown .code-line .token.inserted{background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.wmde-markdown .token.variable{color:var(--color-prettylights-syntax-constant)}.wmde-markdown .token.entity,.wmde-markdown .token.url,.wmde-markdown .language-css .token.string,.wmde-markdown .style .token.string,.wmde-markdown .token.color,.wmde-markdown .token.atrule,.wmde-markdown .token.attr-value,.wmde-markdown .token.function,.wmde-markdown .token.class-name{color:var(--color-prettylights-syntax-string)}.wmde-markdown .token.rule,.wmde-markdown .token.regex,.wmde-markdown .token.important,.wmde-markdown .token.keyword{color:var(--color-prettylights-syntax-keyword)}.wmde-markdown .token.coord{color:var(--color-prettylights-syntax-meta-diff-range)}.wmde-markdown .token.important,.wmde-markdown .token.bold{font-weight:700}.wmde-markdown .token.italic{font-style:italic}.wmde-markdown .token.entity{cursor:help}.BlogManagePage-module__container___lKPm1{min-height:100vh;background:#f5f7fa;display:flex;flex-direction:column}.BlogManagePage-module__header___LfAC9{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:100}.BlogManagePage-module__headerContent___m2mSv{max-width:1400px;margin:0 auto;padding:20px 40px;display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.BlogManagePage-module__headerContent___m2mSv{padding:15px 20px;flex-direction:column;gap:15px}}.BlogManagePage-module__title___JGuXw{font-size:1.8rem;font-weight:600;color:#2d3748;margin:0}.BlogManagePage-module__nav___CsYqC{display:flex;gap:10px}.BlogManagePage-module__navBtn___f7JzT{padding:10px 20px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__navBtn___f7JzT:hover{border-color:#667eea;color:#667eea}.BlogManagePage-module__navBtn___f7JzT.BlogManagePage-module__active___kq6ch{background:#667eea;border-color:#667eea;color:#fff}@media (max-width: 768px){.BlogManagePage-module__navBtn___f7JzT{padding:8px 16px;font-size:.8rem}}.BlogManagePage-module__mainContent___4Iwec{flex:1;max-width:1400px;margin:0 auto;padding:30px 40px;width:100%}@media (max-width: 768px){.BlogManagePage-module__mainContent___4Iwec{padding:20px}}.BlogManagePage-module__listView___9qwC7{display:flex;flex-direction:column;gap:20px}.BlogManagePage-module__filterSection___1tKOn{background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center;gap:20px}@media (max-width: 768px){.BlogManagePage-module__filterSection___1tKOn{flex-direction:column;gap:15px}}.BlogManagePage-module__searchBox___1xUA0{flex:1;max-width:400px}.BlogManagePage-module__searchInput___IZiI0{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.BlogManagePage-module__searchInput___IZiI0:focus{outline:none;border-color:#667eea}.BlogManagePage-module__searchInput___IZiI0::placeholder{color:#a0aec0}.BlogManagePage-module__filters___2F39y{display:flex;gap:15px}@media (max-width: 768px){.BlogManagePage-module__filters___2F39y{width:100%;justify-content:space-between}}.BlogManagePage-module__filterSelect___l7b0z{padding:10px 15px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:.9rem;cursor:pointer;transition:border-color .3s ease}.BlogManagePage-module__filterSelect___l7b0z:focus{outline:none;border-color:#667eea}@media (max-width: 768px){.BlogManagePage-module__filterSelect___l7b0z{flex:1}}.BlogManagePage-module__mdEditorWrapper___K-iSq{border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:border-color .3s ease}.BlogManagePage-module__mdEditorWrapper___K-iSq:focus-within{border-color:#667eea}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor{background-color:transparent}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-bar___wt6YA{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:8px 12px}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-bar___wt6YA svg{color:#4a5568}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-bar___wt6YA button:hover{background-color:#e2e8f0}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-text-container___7eEvI .BlogManagePage-module__w-md-editor-text___JcDaW{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important;font-size:14px!important;line-height:1.6!important;padding:16px!important;border:none!important}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-text-container___7eEvI .BlogManagePage-module__w-md-editor-text___JcDaW:focus{outline:none!important;box-shadow:none!important}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS{padding:16px;background-color:#fff}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h1,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h2,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h3,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h4,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h5,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS h6{color:#2d3748;margin-top:1.5em;margin-bottom:.5em}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS p{color:#4a5568;line-height:1.6;margin-bottom:1em}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS code{background-color:#f7fafc;color:#e53e3e;padding:2px 4px;border-radius:4px;font-size:.9em}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS pre{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px;overflow-x:auto}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS pre code{background:none;color:#2d3748;padding:0}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS blockquote{border-left:4px solid #667eea;background-color:#f8fafc;margin:1em 0;padding:12px 16px}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS blockquote p{margin:0;color:#4a5568}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS ul,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS ol{padding-left:1.5em}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS ul li,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS ol li{color:#4a5568;margin-bottom:.5em}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS table{border-collapse:collapse;width:100%;margin:1em 0}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS table th,.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS table td{border:1px solid #e2e8f0;padding:8px 12px;text-align:left}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS table th{background-color:#f8fafc;font-weight:600;color:#2d3748}.BlogManagePage-module__mdEditorWrapper___K-iSq .w-md-editor .BlogManagePage-module__w-md-editor-preview___jDDDS table td{color:#4a5568}.BlogManagePage-module__postsList___MNwz1{display:flex;flex-direction:column;gap:15px}.BlogManagePage-module__postItem___TsuSe{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;transition:all .3s ease}.BlogManagePage-module__postItem___TsuSe:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}@media (max-width: 768px){.BlogManagePage-module__postItem___TsuSe{flex-direction:column;gap:15px}}.BlogManagePage-module__postItem___TsuSe .BlogManagePage-module__postCheckbox___bN6MW{margin-right:16px;padding-top:4px}.BlogManagePage-module__postItem___TsuSe .BlogManagePage-module__postCheckbox___bN6MW input[type=checkbox]{width:16px;height:16px;cursor:pointer}.BlogManagePage-module__postInfo___HiCcv{flex:1}.BlogManagePage-module__postTitle___57zym{font-size:1.3rem;font-weight:600;color:#2d3748;margin:0 0 10px;line-height:1.4}.BlogManagePage-module__postExcerpt___Ln7kt{color:#718096;line-height:1.6;margin:0 0 15px;font-size:.95rem}.BlogManagePage-module__postMeta___aEysU{display:flex;align-items:center;gap:15px;margin-bottom:10px;flex-wrap:wrap}.BlogManagePage-module__status___Q-EgX{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.BlogManagePage-module__status___Q-EgX.BlogManagePage-module__published___-1XPj{background:#c6f6d5;color:#22543d}.BlogManagePage-module__status___Q-EgX.BlogManagePage-module__draft___b27Rn{background:#fed7d7;color:#742a2a}.BlogManagePage-module__category___FGLZW{background:#e2e8f0;color:#4a5568;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.BlogManagePage-module__date___SRyPG,.BlogManagePage-module__readTime___VED7h{color:#a0aec0;font-size:.85rem}.BlogManagePage-module__tags___E9-U9{display:flex;gap:8px;flex-wrap:wrap}.BlogManagePage-module__tag___BIDDw{background:#f7fafc;color:#4a5568;padding:4px 8px;border-radius:8px;font-size:.8rem;border:1px solid #e2e8f0}.BlogManagePage-module__postActions___TGJ7A{display:flex;gap:10px;flex-shrink:0}@media (max-width: 768px){.BlogManagePage-module__postActions___TGJ7A{width:100%;justify-content:flex-end}}.BlogManagePage-module__statusBtn___9ZTNL,.BlogManagePage-module__editBtn___h84YV,.BlogManagePage-module__deleteBtn___vsQ1H{padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;border:none}.BlogManagePage-module__statusBtn___9ZTNL{background:#10b981;color:#fff}.BlogManagePage-module__statusBtn___9ZTNL:hover{background:#059669;transform:translateY(-1px)}.BlogManagePage-module__editBtn___h84YV{background:#667eea;color:#fff}.BlogManagePage-module__editBtn___h84YV:hover{background:#5a67d8;transform:translateY(-1px)}.BlogManagePage-module__deleteBtn___vsQ1H{background:#e53e3e;color:#fff}.BlogManagePage-module__deleteBtn___vsQ1H:hover{background:#c53030;transform:translateY(-1px)}.BlogManagePage-module__formView___gAFPQ{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000000d}.BlogManagePage-module__formHeader___ONM1W{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.BlogManagePage-module__formHeader___ONM1W h2{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0}@media (max-width: 768px){.BlogManagePage-module__formHeader___ONM1W{flex-direction:column;gap:15px;text-align:center}}.BlogManagePage-module__backBtn___v6ilr{padding:10px 20px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;color:#4a5568;font-size:.9rem;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__backBtn___v6ilr:hover{border-color:#667eea;color:#667eea}.BlogManagePage-module__postForm___pgHpm{display:flex;flex-direction:column;gap:25px}.BlogManagePage-module__formRow___5Nud5{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.BlogManagePage-module__formRow___5Nud5{grid-template-columns:1fr}}.BlogManagePage-module__formGroup___F9UKm{display:flex;flex-direction:column;gap:8px}.BlogManagePage-module__formGroup___F9UKm label{font-weight:600;color:#2d3748;font-size:.9rem}.BlogManagePage-module__formInput___p2OQF,.BlogManagePage-module__formSelect___t9nel,.BlogManagePage-module__formTextarea___zsVNG{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.BlogManagePage-module__formInput___p2OQF:focus,.BlogManagePage-module__formSelect___t9nel:focus,.BlogManagePage-module__formTextarea___zsVNG:focus{outline:none;border-color:#667eea}.BlogManagePage-module__formInput___p2OQF::placeholder,.BlogManagePage-module__formSelect___t9nel::placeholder,.BlogManagePage-module__formTextarea___zsVNG::placeholder{color:#a0aec0}.BlogManagePage-module__formTextarea___zsVNG{resize:vertical;min-height:80px}.BlogManagePage-module__formContent___hkIrD{min-height:400px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6}.BlogManagePage-module__tagInput___rZDdZ{display:flex;gap:10px}.BlogManagePage-module__addTagBtn___Z5IQ-{padding:12px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:background .3s ease;flex-shrink:0}.BlogManagePage-module__addTagBtn___Z5IQ-:hover{background:#5a67d8}.BlogManagePage-module__tagsList___zBOux{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.BlogManagePage-module__tagItem___OQEaQ{background:#f7fafc;color:#4a5568;padding:6px 12px;border-radius:20px;font-size:.8rem;border:1px solid #e2e8f0;display:flex;align-items:center;gap:8px}.BlogManagePage-module__removeTagBtn___msG6D{background:none;border:none;color:#e53e3e;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.BlogManagePage-module__removeTagBtn___msG6D:hover{color:#c53030}.BlogManagePage-module__formActions___OEm3T{display:flex;gap:15px;padding-top:20px;border-top:1px solid #e2e8f0}@media (max-width: 768px){.BlogManagePage-module__formActions___OEm3T{flex-direction:column}}.BlogManagePage-module__submitBtn___g7G-O{padding:15px 30px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__submitBtn___g7G-O:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px)}.BlogManagePage-module__submitBtn___g7G-O:disabled{opacity:.6;cursor:not-allowed}.BlogManagePage-module__cancelBtn___Uh5Xq{padding:15px 30px;background:#e2e8f0;color:#4a5568;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__cancelBtn___Uh5Xq:hover{background:#cbd5e0}.BlogManagePage-module__statsView___YKkSo{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #0000000d}.BlogManagePage-module__statsView___YKkSo h2{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0 0 30px}.BlogManagePage-module__statsCards___DKBVm{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.BlogManagePage-module__statsCard___j9STO{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;text-align:center;box-shadow:0 4px 12px #667eea4d}.BlogManagePage-module__statsCard___j9STO h3{font-size:1rem;font-weight:500;margin:0 0 10px;opacity:.9}.BlogManagePage-module__statsNumber___z7Zkn{font-size:2.5rem;font-weight:700;margin:0}.BlogManagePage-module__categoryStats___PQgTB h3{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0 0 20px}.BlogManagePage-module__categoryList___l9VAt{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.BlogManagePage-module__categoryItem___QV7fR{background:#f7fafc;padding:20px;border-radius:8px;border:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.BlogManagePage-module__categoryCount___t0NIZ{color:#667eea;font-weight:600}.BlogManagePage-module__tagStats___UQ0D8{margin-top:30px}.BlogManagePage-module__tagStats___UQ0D8 h3{font-size:1.2rem;font-weight:600;color:#2d3748;margin:0 0 20px}.BlogManagePage-module__tagList___kw8oS{display:flex;flex-wrap:wrap;gap:10px}.BlogManagePage-module__tagItem___OQEaQ{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e3f2fd;border-radius:20px;border:1px solid #bbdefb;font-size:14px}.BlogManagePage-module__tagName___IioZN{font-weight:500;color:#1976d2}.BlogManagePage-module__tagCount___J13Zl{color:#666;font-size:12px}.BlogManagePage-module__batchActions___fDwQG{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px}.BlogManagePage-module__batchActions___fDwQG span{color:#475569;font-weight:500}.BlogManagePage-module__batchActions___fDwQG .BlogManagePage-module__batchDeleteBtn___HqD0u{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease}.BlogManagePage-module__batchActions___fDwQG .BlogManagePage-module__batchDeleteBtn___HqD0u:hover{background:#dc2626}.BlogManagePage-module__batchActions___fDwQG .BlogManagePage-module__clearSelectionBtn___j41fO{padding:6px 12px;background:#6b7280;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease}.BlogManagePage-module__batchActions___fDwQG .BlogManagePage-module__clearSelectionBtn___j41fO:hover{background:#4b5563}.BlogManagePage-module__pagination___odCDe{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:16px 0}.BlogManagePage-module__pagination___odCDe .BlogManagePage-module__paginationButtons___L88Fa{display:flex;gap:8px}.BlogManagePage-module__pagination___odCDe .BlogManagePage-module__paginationButtons___L88Fa button{padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__pagination___odCDe .BlogManagePage-module__paginationButtons___L88Fa button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.BlogManagePage-module__pagination___odCDe .BlogManagePage-module__paginationButtons___L88Fa button:disabled{opacity:.5;cursor:not-allowed}.BlogManagePage-module__pagination___odCDe .BlogManagePage-module__paginationInfo___mBYkq{color:#6b7280;font-size:14px}.BlogManagePage-module__loading___y0GSG,.BlogManagePage-module__emptyState___MczcM{text-align:center;padding:60px 20px;color:#a0aec0;font-size:1.1rem}.BlogManagePage-module__loading___y0GSG{color:#667eea}.BlogManagePage-module__categoriesView___lx4Tx{display:flex;flex-direction:column;gap:25px}.BlogManagePage-module__categoriesHeader___9ZJS8{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.BlogManagePage-module__categoriesHeader___9ZJS8 h2{font-size:1.5rem;font-weight:600;color:#2d3748;margin:0}@media (max-width: 768px){.BlogManagePage-module__categoriesHeader___9ZJS8{flex-direction:column;gap:15px;align-items:flex-start}}.BlogManagePage-module__addCategoryBtn___-aR-o{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__addCategoryBtn___-aR-o:hover{background:#5a67d8;transform:translateY(-2px)}.BlogManagePage-module__cancelEditBtn___fPwBc{background:#ff4d4f;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease}.BlogManagePage-module__cancelEditBtn___fPwBc:hover{background:#ff7875}.BlogManagePage-module__categoryForm___ZehJ8{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0}.BlogManagePage-module__categoryForm___ZehJ8 .BlogManagePage-module__formRow___5Nud5{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end}@media (max-width: 768px){.BlogManagePage-module__categoryForm___ZehJ8 .BlogManagePage-module__formRow___5Nud5{grid-template-columns:1fr;gap:15px}}.BlogManagePage-module__saveCategoryBtn___PF50Z{padding:12px 24px;background:#48bb78;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap}.BlogManagePage-module__saveCategoryBtn___PF50Z:hover:not(:disabled){background:#38a169;transform:translateY(-2px)}.BlogManagePage-module__saveCategoryBtn___PF50Z:disabled{background:#a0aec0;cursor:not-allowed;transform:none}.BlogManagePage-module__categoriesList___s7wuB{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0;overflow:hidden}.BlogManagePage-module__categoriesTable___xs4YW{width:100%}.BlogManagePage-module__tableHeader___glrmt{display:grid;grid-template-columns:2fr 3fr 1fr 1.5fr 1.5fr;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600;color:#4a5568}@media (max-width: 768px){.BlogManagePage-module__tableHeader___glrmt{grid-template-columns:1fr}.BlogManagePage-module__tableHeader___glrmt .BlogManagePage-module__tableCell___8rET1:not(:first-child){display:none}}.BlogManagePage-module__tableRow___wGQ1I{display:grid;grid-template-columns:2fr 3fr 1fr 1.5fr 1.5fr;border-bottom:1px solid #e2e8f0;transition:background-color .3s ease}.BlogManagePage-module__tableRow___wGQ1I:hover{background:#f8fafc}.BlogManagePage-module__tableRow___wGQ1I:last-child{border-bottom:none}@media (max-width: 768px){.BlogManagePage-module__tableRow___wGQ1I{grid-template-columns:1fr;padding:15px}.BlogManagePage-module__tableRow___wGQ1I .BlogManagePage-module__tableCell___8rET1{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.BlogManagePage-module__tableRow___wGQ1I .BlogManagePage-module__tableCell___8rET1:before{content:attr(data-label);font-weight:600;color:#4a5568;margin-right:10px}}.BlogManagePage-module__tableCell___8rET1{padding:15px 20px;display:flex;align-items:center;color:#2d3748}@media (max-width: 768px){.BlogManagePage-module__tableCell___8rET1{padding:5px 0}}.BlogManagePage-module__categoryName___qnUBC{font-weight:500;color:#2d3748}.BlogManagePage-module__categoryDesc___rX6bD{color:#718096;font-size:.9rem}.BlogManagePage-module__postCount___m7hOa{color:#667eea;font-weight:500}.BlogManagePage-module__createDate___wGbRO{color:#a0aec0;font-size:.9rem}.BlogManagePage-module__categoryActions___BydIu{display:flex;gap:8px}.BlogManagePage-module__editCategoryBtn___c52f4{padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__editCategoryBtn___c52f4:hover{background:#5a67d8;transform:translateY(-1px)}.BlogManagePage-module__deleteCategoryBtn___wSXwS{padding:6px 12px;background:#e53e3e;color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .3s ease}.BlogManagePage-module__deleteCategoryBtn___wSXwS:hover{background:#c53030;transform:translateY(-1px)}@media (max-width: 480px){.BlogManagePage-module__headerContent___m2mSv{padding:10px 15px}.BlogManagePage-module__mainContent___4Iwec{padding:15px}.BlogManagePage-module__postItem___TsuSe,.BlogManagePage-module__formView___gAFPQ,.BlogManagePage-module__statsView___YKkSo{padding:20px}.BlogManagePage-module__categoriesView___lx4Tx{gap:20px}.BlogManagePage-module__categoryForm___ZehJ8{padding:20px}.BlogManagePage-module__statsCards___DKBVm,.BlogManagePage-module__categoryList___l9VAt{grid-template-columns:1fr}}.ChatPage-module__loginContainer___0o5bp{width:100vw;height:100vh;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;align-items:center;justify-content:center;padding:24px}.ChatPage-module__loginBox___gazao{background:#fff;border-radius:24px;padding:48px;box-shadow:0 16px 64px #0003;width:100%;max-width:400px;text-align:center;animation:ChatPage-module__slideInUp___XnJCa .6s .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 576px){.ChatPage-module__loginBox___gazao{padding:32px;margin:16px}}.ChatPage-module__loginHeader___scZTY{margin-bottom:32px}.ChatPage-module__loginTitle___6wwdf{font-size:2.5rem;font-weight:700;color:#2c3e50;margin:0 0 8px}@media (max-width: 576px){.ChatPage-module__loginTitle___6wwdf{font-size:2rem}}.ChatPage-module__loginSubtitle___bq-nN{font-size:1rem;color:#6c757d;margin:0}.ChatPage-module__loginForm___Q7ELj{margin-bottom:24px}.ChatPage-module__passwordInput___pJyC6{width:100%;padding:16px 24px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;margin-bottom:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.ChatPage-module__passwordInput___pJyC6:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.ChatPage-module__passwordInput___pJyC6::placeholder{color:#adb5bd}.ChatPage-module__loginButton___6MHPQ{width:100%;padding:16px 24px;background:linear-gradient(135deg,#6c757d,#495057);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.ChatPage-module__loginButton___6MHPQ:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.ChatPage-module__loginButton___6MHPQ:active{transform:translateY(0)}.ChatPage-module__loginHint___GNVdz p{font-size:.875rem;color:#adb5bd;margin:0}.ChatPage-module__chatContainer___9p32e{width:100vw;height:100vh;background:#f5f7fa;display:flex;flex-direction:column;overflow:hidden}.ChatPage-module__chatHeader___D7SPk{background:#fff;padding:16px 24px;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #00000014;z-index:10}@media (max-width: 576px){.ChatPage-module__chatHeader___D7SPk{padding:8px 16px}}.ChatPage-module__chatTitle___zucTP{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0}@media (max-width: 576px){.ChatPage-module__chatTitle___zucTP{font-size:1.25rem}}.ChatPage-module__headerInfo___VmId0{display:flex;align-items:center;justify-content:center;gap:24px}@media (max-width: 576px){.ChatPage-module__headerInfo___VmId0{gap:16px}}.ChatPage-module__userInfo___QgOZt{display:flex;align-items:center;justify-content:center;gap:8px}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F{display:flex;align-items:center;gap:8px;font-size:12px}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__connecting___kCA3w{color:#f39c12}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__connecting___kCA3w:before{content:"🔄";margin-right:4px}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__connected___Q9aRu{color:#27ae60}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__connected___Q9aRu:before{content:"✅";margin-right:4px}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__error___hV8td{color:#e74c3c}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__error___hV8td:before{content:"❌";margin-right:4px}.ChatPage-module__userInfo___QgOZt .ChatPage-module__connectionStatus___6232F .ChatPage-module__onlineCount___bFx6g{color:#6c757d;background:#f8f9fa;padding:2px 6px;border-radius:10px;font-size:11px}.ChatPage-module__userAvatar___sYLnj{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}@media (max-width: 576px){.ChatPage-module__userAvatar___sYLnj{width:32px;height:32px;font-size:.875rem}}.ChatPage-module__username___bPHAb{font-weight:600;color:#2c3e50}@media (max-width: 576px){.ChatPage-module__username___bPHAb{font-size:.875rem}}.ChatPage-module__onlineStatus___bgam3{display:flex;align-items:center;justify-content:center;gap:4px;color:#27ae60;font-size:.875rem;font-weight:500}.ChatPage-module__statusDot___jG6bO{width:8px;height:8px;background:#27ae60;border-radius:50%;animation:ChatPage-module__pulse___-hNQ- 2s infinite}.ChatPage-module__messagesContainer___G--NN{flex:1;overflow:hidden;padding:16px}@media (max-width: 576px){.ChatPage-module__messagesContainer___G--NN{padding:8px}}.ChatPage-module__messagesList___2LKki{height:100%;overflow-y:auto;padding-right:8px}.ChatPage-module__messagesList___2LKki::-webkit-scrollbar{width:6px}.ChatPage-module__messagesList___2LKki::-webkit-scrollbar-track{background:transparent}.ChatPage-module__messagesList___2LKki::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:6px}.ChatPage-module__messagesList___2LKki::-webkit-scrollbar-thumb:hover{background:#6c757d}.ChatPage-module__messageItem___30ruf{margin-bottom:24px;animation:ChatPage-module__fadeInUp___dubN9 .3s .3s cubic-bezier(.4,0,.2,1)}.ChatPage-module__messageItem___30ruf.ChatPage-module__ownMessage___6K-JB .ChatPage-module__messageHeader___EG2fV{flex-direction:row-reverse}.ChatPage-module__messageItem___30ruf.ChatPage-module__ownMessage___6K-JB .ChatPage-module__messageHeader___EG2fV .ChatPage-module__messageInfo___XNOGS{text-align:right}.ChatPage-module__messageItem___30ruf.ChatPage-module__ownMessage___6K-JB .ChatPage-module__messageContent___hTUfc{background:#667eea;color:#fff;margin-left:auto;margin-right:0}.ChatPage-module__messageHeader___EG2fV{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ChatPage-module__messageAvatar___cHys-{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}@media (max-width: 576px){.ChatPage-module__messageAvatar___cHys-{width:32px;height:32px;font-size:.75rem}}.ChatPage-module__messageInfo___XNOGS{display:flex;flex-direction:column;gap:2px}.ChatPage-module__messageUsername___g0fid{font-weight:600;font-size:.875rem;color:#2c3e50}.ChatPage-module__messageTime___h2bbH{font-size:.75rem;color:#adb5bd}.ChatPage-module__messageContent___hTUfc{background:#fff;padding:8px 16px;border-radius:12px;max-width:60%;min-width:80px;width:fit-content;word-wrap:break-word;word-break:break-word;line-height:1.5;box-shadow:0 1px 3px #0000000d;margin-left:44px}@media (max-width: 576px){.ChatPage-module__messageContent___hTUfc{max-width:75%;margin-left:40px;padding:4px 8px;font-size:.875rem}}.ChatPage-module__inputContainer___KLi-g{background:#fff;border-top:1px solid #e9ecef;padding:16px 24px;box-shadow:0 2px 8px #00000014}@media (max-width: 576px){.ChatPage-module__inputContainer___KLi-g{padding:8px 16px}}.ChatPage-module__inputBox___ZCIdh{display:flex;gap:8px;margin-bottom:4px}.ChatPage-module__messageInput___-jzql{flex:1;padding:8px 16px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.ChatPage-module__messageInput___-jzql:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.ChatPage-module__messageInput___-jzql::placeholder{color:#adb5bd}.ChatPage-module__messageInput___-jzql:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.ChatPage-module__messageInput___-jzql:disabled::placeholder{color:#adb5bd}.ChatPage-module__sendButton___MXTUD{padding:8px 24px;background:#667eea;color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.ChatPage-module__sendButton___MXTUD:hover:not(:disabled){background:#3958e4;transform:translateY(-1px)}.ChatPage-module__sendButton___MXTUD:active:not(:disabled){transform:translateY(0)}.ChatPage-module__sendButton___MXTUD:disabled{background:#adb5bd;color:#adb5bd;cursor:not-allowed;transform:none;opacity:.6}@media (max-width: 576px){.ChatPage-module__sendButton___MXTUD{padding:8px 16px;font-size:.875rem}}.ChatPage-module__inputHint___lALGR{text-align:center}.ChatPage-module__inputHint___lALGR span{font-size:.75rem;color:#adb5bd}@keyframes ChatPage-module__slideInUp___XnJCa{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes ChatPage-module__fadeInUp___dubN9{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ChatPage-module__pulse___-hNQ-{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 576px){.ChatPage-module__chatContainer___9p32e{font-size:14px}.ChatPage-module__loginBox___gazao{max-width:90vw}.ChatPage-module__messageContent___hTUfc{max-width:80%}}@media (max-width: 320px){.ChatPage-module__headerInfo___VmId0{gap:8px}.ChatPage-module__chatTitle___zucTP{font-size:1rem}.ChatPage-module__userAvatar___sYLnj{width:28px;height:28px;font-size:.75rem}.ChatPage-module__messageAvatar___cHys-{width:28px;height:28px;font-size:.7rem}.ChatPage-module__messageContent___hTUfc{margin-left:36px}}.paipai-container{height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f,#ff9a9e,#fecfef,#ffeaa7);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding:20px;overflow:hidden;position:relative;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;color:#fff;display:flex;flex-direction:column;justify-content:space-between}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.music-control{position:fixed;top:30px;right:30px;z-index:1000;animation:fadeInRight 1s ease-out}.play-button,.pause-button{background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:14px 24px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 8px 32px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.5px}.play-button:hover,.pause-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #00000026;background:#ffffff40;border-color:#ffffff4d}.play-button:active,.pause-button:active{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 24px #0000001a}.fullscreen-control{position:fixed;top:30px;left:30px;z-index:1000;animation:fadeInLeft 1s ease-out}.fullscreen-button{background:#ffffff26;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:14px 24px;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 8px 32px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.5px}.fullscreen-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #00000026;background:#ffffff40;border-color:#ffffff4d}.fullscreen-button:active{transform:translateY(-1px) scale(1.02);box-shadow:0 6px 24px #0000001a}.title-section{text-align:center;margin-bottom:20px;animation:fadeInDown 1.2s ease-out;flex-shrink:0}.birthday-title{font-size:2.8rem;font-weight:800;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.02em;line-height:1.1;animation:titleGlow 3s ease-in-out infinite;text-shadow:0 0 40px rgba(255,255,255,.3)}.subtitle{font-size:1.1rem;font-weight:400;color:#ffffffe6;margin-top:12px;letter-spacing:.5px;opacity:.95}@keyframes titleGlow{0%,to{text-shadow:0 0 40px rgba(255,255,255,.3)}50%{text-shadow:0 0 60px rgba(255,255,255,.5),0 0 80px rgba(255,255,255,.2)}}.main-content{display:flex;flex-direction:column;align-items:center;gap:20px;flex:1;justify-content:center}.cat-character{position:relative;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 20px 40px rgba(0,0,0,.15))}.cat-body{position:relative}.cat-head{width:120px;height:100px;background:linear-gradient(135deg,#ff9a56,#ff6b35,#f7931e);border-radius:50% 50% 45% 45%;position:relative;margin:0 auto;box-shadow:0 15px 35px #0000001a,0 5px 15px #00000014;border:2px solid rgba(255,255,255,.1)}.cat-ears{position:absolute;top:-25px;width:100%}.ear{width:35px;height:40px;background:linear-gradient(135deg,#ff9a56,#ff6b35,#f7931e);border-radius:50% 50% 0 0;position:absolute;box-shadow:0 8px 20px #0000001a;border:1px solid rgba(255,255,255,.1)}.left-ear{left:18px;transform:rotate(-20deg)}.right-ear{right:18px;transform:rotate(20deg)}.ear:after{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:18px;height:24px;background:linear-gradient(135deg,#ffb366,#ff8f42);border-radius:50% 50% 0 0}.cat-face{position:relative;padding-top:20px}.eyes{display:flex;justify-content:space-between;padding:0 25px;margin-bottom:10px}.eye{width:20px;height:25px;background:#333;border-radius:50%;position:relative;animation:blink 4s infinite}.pupil{width:8px;height:12px;background:#fff;border-radius:50%;position:absolute;top:3px;left:6px}.nose{width:8px;height:6px;background:#ff6b6b;border-radius:50%;margin:0 auto 8px}.mouth{display:flex;justify-content:center;gap:2px}.mouth-line{width:15px;height:2px;background:#333;border-radius:0 0 10px 10px}.left-line{transform:rotate(15deg)}.right-line{transform:rotate(-15deg)}.whiskers{position:absolute;top:40px;width:100%}.whisker{position:absolute;width:25px;height:1px;background:#333}.whisker-1{left:-15px;top:0;transform:rotate(-10deg)}.whisker-2{left:-15px;top:8px;transform:rotate(10deg)}.whisker-3{right:-15px;top:0;transform:rotate(10deg)}.whisker-4{right:-15px;top:8px;transform:rotate(-10deg)}.cat-body-main{width:100px;height:80px;background:linear-gradient(135deg,#ff9a56,#ff6b35,#f7931e);border-radius:25px;margin:10px auto;position:relative;box-shadow:0 15px 35px #0000001a,0 5px 15px #00000014;border:2px solid rgba(255,255,255,.1)}.stripes{position:absolute;top:10px;left:50%;transform:translate(-50%)}.stripe{width:60px;height:3px;background:#e65100;margin:8px 0;border-radius:2px}.cat-tail{width:15px;height:60px;background:linear-gradient(45deg,#ff8c42,#ffa726);border-radius:10px;position:absolute;right:-20px;top:60px;transform:rotate(30deg);animation:tailWag 2s ease-in-out infinite}.birthday-hat{position:absolute;top:-40px;left:50%;transform:translate(-50%)}.hat-cone{width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:40px solid #ff6b6b;position:relative}.hat-cone:after{content:"";position:absolute;top:40px;left:-25px;width:50px;height:8px;background:#fff;border-radius:50%}.hat-pom{width:12px;height:12px;background:#fff;border-radius:50%;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.birthday-wishes{display:flex;flex-direction:column;gap:16px;text-align:center;max-width:500px;margin:0 auto}.wish-item{display:flex;align-items:center;justify-content:center;gap:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);padding:16px 24px;border-radius:20px;box-shadow:0 8px 32px #0000001a;animation:slideInLeft 1.2s ease-out;transition:all .3s ease}.wish-item:hover{transform:translateY(-5px);background:#ffffff26;box-shadow:0 12px 40px #00000026}.emoji{font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.wish-text{font-size:1rem;color:#fffffff2;font-weight:500;letter-spacing:.3px}.decorations{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.balloon{position:absolute;font-size:3rem;animation:float 4s ease-in-out infinite}.balloon-1{top:10%;left:10%;animation-delay:0s;color:#ff6b6b}.balloon-2{top:20%;right:10%;animation-delay:1s;color:#4ecdc4}.balloon-3{top:60%;left:5%;animation-delay:2s;color:#ffe66d}.confetti{position:absolute;top:0;left:0;width:100%;height:100%}.confetti-piece{position:absolute;width:10px;height:10px;background:#ff6b6b;animation:confettiFall 3s linear infinite}.confetti-1{left:10%;animation-delay:0s;background:#ff6b6b}.confetti-2{left:30%;animation-delay:.5s;background:#4ecdc4}.confetti-3{left:50%;animation-delay:1s;background:#ffe66d}.confetti-4{left:70%;animation-delay:1.5s;background:#ff8c42}.confetti-5{left:85%;animation-delay:2s;background:#a8e6cf}.confetti-6{left:95%;animation-delay:2.5s;background:#ffd93d}.stars{position:absolute;top:0;left:0;width:100%;height:100%}.star{position:absolute;font-size:1.5rem;animation:twinkle 2s ease-in-out infinite}.star-1{top:15%;left:20%;animation-delay:0s}.star-2{top:25%;right:20%;animation-delay:.5s}.star-3{top:70%;left:80%;animation-delay:1s}.star-4{top:80%;left:15%;animation-delay:1.5s}.bottom-message{text-align:center;margin-top:20px;padding:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:24px;box-shadow:0 8px 32px #0000001a;animation:fadeInUp 1.2s ease-out;max-width:600px;margin-left:auto;margin-right:auto;flex-shrink:0}.bottom-message p{font-size:1rem;color:#fffffff2;margin:8px 0;font-weight:500;letter-spacing:.3px;line-height:1.5}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes tailWag{0%,to{transform:rotate(30deg)}50%{transform:rotate(60deg)}}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes twinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.paipai-container{padding:20px 15px}.birthday-title{font-size:2.5rem}.subtitle{font-size:1.1rem}.cat-head{width:110px;height:95px}.cat-body-main{width:95px;height:75px}.wish-item{flex-direction:column;gap:12px;padding:18px 24px}.wish-text{font-size:1rem}.bottom-message{margin-top:40px;padding:24px}.bottom-message p{font-size:1.1rem}.music-control{top:15px;right:15px}.fullscreen-control{top:15px;left:15px}.play-button,.pause-button,.fullscreen-button{padding:12px 18px;font-size:.9rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background:#fff;min-height:100vh}html{scroll-behavior:smooth}
