body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:initial;background-image:url(/static/media/bg.6b0104e1e054c6639dee.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background-color:#282c34;color:#fff;flex-direction:row;gap:2rem;justify-content:flex-start}.logo{margin-left:2rem}.nav-menu{flex-direction:row;gap:1.5rem}.nav-menu a{color:#fff}.nav-menu a.active{color:red;font-weight:700}body{background:linear-gradient(120deg,#f7f8fa 60%,#e3e9f7);color:#222;font-family:Segoe UI,PingFang SC,Hiragino Sans,Arial,sans-serif}::-webkit-scrollbar{background:#f0f0f0;width:8px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.header{background:#fff;box-shadow:0 2px 8px #0000000a;height:64px;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.logo{color:#3b82f6;font-size:1.6rem;letter-spacing:2px}.nav-menu{display:flex;gap:24px;margin-left:32px}.nav-menu a{border-radius:6px;color:#222;font-size:1.08rem;padding:6px 14px;transition:background .2s,color .2s}.nav-menu a.active,.nav-menu a:hover{background:#e3e9f7;color:#2563eb}.btn,button{background:linear-gradient(90deg,#3b82f6 60%,#2563eb);border:none;border-radius:6px;box-shadow:0 2px 8px #3b82f614;color:#fff;cursor:pointer;font-size:1rem;padding:8px 20px;transition:background .2s,box-shadow .2s}.btn:hover,button:hover{background:linear-gradient(90deg,#2563eb 60%,#3b82f6);box-shadow:0 4px 16px #3b82f629}.footer{background:#f3f4f6;border-top:1px solid #e5e7eb;color:#888;font-size:1rem;margin-top:32px;padding:18px 0 12px}.main{align-items:flex-start;background:linear-gradient(120deg,#f7f8fa 60%,#e3e9f7);flex-direction:row;justify-content:center;min-height:100vh;padding:0 0 40px}.center{align-items:center;background:none;box-shadow:none;display:flex;flex:1 1 700px;flex-direction:column;gap:1.5rem;margin-bottom:40px;max-width:700px;padding:0 12px}.center,.right{height:100%;margin-top:40px}.right{flex:0 0 220px}@media (max-width:1100px){.left,.right{display:none}.center{margin:32px auto 0;max-width:98vw;padding:0 8px}}@media (max-width:700px){.main{align-items:stretch;flex-direction:column;padding:0 0 24px}.center{margin:18px 0 0;max-width:100vw;padding:0 2vw}}.left{align-items:center;background-color:initial!important;display:flex;flex:0 0 260px;flex-direction:column;gap:1rem;justify-content:flex-start;margin-right:32px;position:relative;width:20%;z-index:1}.card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #3b82f61f,0 4px 16px #00000014,inset 0 1px 0 #fff6;margin-top:15px;max-width:300px;padding:1.5rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:80%;will-change:transform}.card:hover{box-shadow:0 12px 40px #3b82f62e,0 6px 20px #0000001f,inset 0 1px 0 #fff9}.introduction-card{background:linear-gradient(135deg,#e0f2fe,#b3e5fc 50%,#81d4fa);border-radius:16px;box-shadow:0 8px 32px #3b82f61f,0 4px 16px #00000014,inset 0 1px 0 #fff6;color:#0d47a1;font-family:Segoe UI,PingFang SC,Hiragino Sans,Arial,sans-serif;margin-bottom:10px;margin-top:40px;overflow:hidden;padding:2rem 1.5rem 1.5rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.introduction-card:before{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(180deg)}}.introduction-card:hover{box-shadow:0 12px 40px #3b82f62e,0 6px 20px #0000001f,inset 0 1px 0 #fff9;transform:translateY(-3px) scale(1.02)}.avatar{border:3px solid #fffc;border-radius:50%;box-shadow:0 8px 24px #0d47a14d,0 4px 12px #00000026;height:100px;margin-bottom:1rem;object-fit:cover;transition:all .3s ease;width:100px}.introduction-card:hover .avatar{border-color:#fff;box-shadow:0 12px 32px #0d47a166,0 6px 16px #0003;transform:scale(1.05)}.clock{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff4d;border:1px solid #fff6;border-radius:20px;color:#0d47a1;display:inline-block;font-family:Courier New,monospace;font-size:1.3rem;font-weight:600;margin-bottom:1rem;padding:.5rem 1rem;transition:all .3s ease}.clock:hover{background:#ffffff80;transform:scale(1.02)}.stats{align-items:center;display:flex;flex-direction:column}.stats p{margin:.5rem 0}.introduction-card h2{color:#1976d2;margin-top:0}.introduction-card p{color:#333;line-height:1.6}.category-list{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #94a3b833;overflow:hidden;position:relative;text-align:left}.category-list:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#3b82f6,#0000);content:"";height:2px;left:-100%;position:absolute;top:0;width:100%}.category-list h2{align-items:center;border-bottom:2px solid #e2e8f0;color:#1e293b;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem;padding-bottom:.75rem}.category-list h2:before{content:"📚";font-size:1.1rem}.category-list ul{list-style-type:none;margin:0;padding:0}.category-list li{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border-bottom:1px solid #94a3b826;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin:.25rem 0;padding:.75rem .5rem;position:relative;transition:all .3s ease}.category-list li:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateX(8px)}.category-list li:last-child{border-bottom:none}.category-list li:before{color:#64748b;content:"▶";font-size:.7rem;margin-right:.5rem;transition:all .3s ease}.category-list li:hover:before{color:#3b82f6;transform:translateX(3px)}.category-name{color:#374151;flex:1 1;font-weight:500;transition:color .3s ease}.category-list li:hover .category-name{color:#1e40af}.category-count{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:12px;box-shadow:0 2px 4px #3b82f64d;color:#fff;font-size:.8rem;font-weight:600;min-width:24px;padding:.25rem .5rem;text-align:center;transition:all .3s ease}.category-list li:hover .category-count{background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:scale(1.1)}@media (max-width:768px){.left{flex:none;margin-bottom:2rem;margin-right:0;width:100%}.card{margin:.5rem 0;max-width:none;width:95%}.introduction-card{padding:1.5rem 1rem}.avatar{height:80px;width:80px}.clock{padding:.4rem .8rem}.category-list h2,.clock{font-size:1.1rem}.category-list li{margin:.2rem 0;padding:.6rem .4rem}.category-name{font-size:.9rem}.category-count{font-size:.75rem;padding:.2rem .4rem}}@media (max-width:480px){.card{padding:1rem;width:100%}.introduction-card{padding:1.2rem .8rem}.avatar{height:70px;width:70px}.clock{font-size:1rem}.stats{gap:.3rem}.stats p{font-size:.9rem;margin:.3rem 0}.category-list li{align-items:flex-start;flex-direction:column;gap:.3rem}.category-count{align-self:flex-end}}.right{background:#0000;display:flex;flex:0 0 260px;flex-direction:column;gap:1rem;margin-left:32px;min-height:100vh}.right-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:16px;box-shadow:0 8px 32px #3b82f61f,0 4px 16px #00000014,inset 0 1px 0 #fff6;margin:0 auto;max-width:300px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.right-card:hover{box-shadow:0 12px 40px #3b82f62e,0 6px 20px #0000001f,inset 0 1px 0 #fff9;transform:translateY(-2px)}.card-header{align-items:center;background:linear-gradient(135deg,#3b82f60d,#93c5fd08);border-bottom:1px solid #3b82f61a;display:flex;gap:.4rem;padding:.8rem 1rem .6rem;position:relative}.card-header:before{background:linear-gradient(90deg,#3b82f6,#6366f1 50%,#8b5cf6);content:"";height:2px;left:0;position:absolute;right:0;top:0}.card-icon{color:#3b82f6;flex-shrink:0;height:14px;width:14px}.card-title{color:#1e293b;font-size:.8rem;font-weight:600;line-height:1.3;margin:0}.card-content{padding:.6rem 1rem 1rem}.click-ranking-card .card-icon{color:#3b82f6}.ranking-list{display:flex;flex-direction:column;gap:.4rem}.ranking-item{align-items:center;background:#fffc;border:1px solid #94a3b826;border-radius:8px;cursor:pointer;display:flex;gap:.5rem;min-height:50px;overflow:hidden;padding:.6rem .8rem;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.ranking-item:before{background:linear-gradient(135deg,#3b82f605,#93c5fd05);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease}.ranking-item:hover{background:#fffffff2;border-color:#3b82f640;box-shadow:0 4px 12px #3b82f626;transform:translateX(3px)}.ranking-item:hover:before{opacity:1}.rank-badge,.ranking-number{flex-shrink:0}.rank-badge{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;height:20px;justify-content:center;text-shadow:0 1px 2px #0000004d;width:20px}.rank-1{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 1px 3px #3b82f64d}.rank-2{background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 1px 3px #6366f14d}.rank-3{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 1px 3px #8b5cf64d}.rank-4,.rank-5{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 1px 3px #64748b40}.article-info{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0}.article-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#1e293b;display:-webkit-box;font-size:.75rem;line-height:1.2;margin:0 0 .2rem;overflow:hidden;text-overflow:ellipsis}.article-meta{font-size:.65rem;gap:.5rem}.article-meta,.meta-item{align-items:center;display:flex}.meta-item{gap:.15rem}.meta-icon{color:#94a3b8;flex-shrink:0;height:8px;width:8px}.loading-skeleton{gap:.25rem}.loading-skeleton,.skeleton-item{display:flex;flex-direction:column}.skeleton-item{gap:.15rem;justify-content:center;min-height:32px;padding:.4rem .6rem}.skeleton-line{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#94a3b833,#94a3b866 50%,#94a3b833);border-radius:3px;height:6px}.skeleton-title{height:8px;width:80%}.skeleton-meta{height:5px;width:55%}.empty-message,.error-message{color:#64748b;font-size:.75rem;padding:1.5rem 1rem;text-align:center}.empty-message p,.error-message p{margin:0}.placeholder-card .card-icon{color:#8e44ad}.placeholder-card .card-header{background:linear-gradient(135deg,#8e44ad14,#9b59b60d);border-bottom:1px solid #8e44ad26}.placeholder-card .card-header:before{background:linear-gradient(90deg,#8e44ad,#9b59b6 50%,#bb6bd9)}.placeholder-text{color:#bdc3c7;font-size:.8rem;font-style:italic;margin:0;padding:1rem;text-align:center}@media (max-width:1024px){.right{flex:none;margin:2rem auto 0;max-width:600px;padding:1rem;width:100%}.right-card{max-width:none;width:100%}}@media (max-width:768px){.right{gap:.6rem;margin-top:1.5rem;padding:.75rem}.card-content{padding:.5rem .8rem .8rem}.ranking-item{gap:.3rem;min-height:28px;padding:.3rem .5rem}.article-title{font-size:.65rem;line-height:1;margin:0 0 .1rem}.article-meta{font-size:.55rem;gap:.3rem}.meta-icon{height:7px;width:7px}.rank-badge{font-size:.55rem;height:14px;width:14px}.ranking-list{gap:.2rem}}@media (max-width:480px){.right{padding:.5rem}.card-header{padding:.6rem .8rem .5rem}.card-title{font-size:.75rem}.card-icon{height:12px;width:12px}.card-content{padding:.4rem .6rem .6rem}.ranking-item{min-height:24px;padding:.25rem .4rem}.ranking-list{gap:.15rem}}.footer{background-color:#282c34;background-color:#fffffff2;margin-top:auto;padding:1rem;text-align:center;z-index:1}.footer,.footer-content{position:relative}.footer-content Link,.footer-content a{color:#333;font-weight:500;text-decoration:none;transition:color .3s ease}.footer-content Link:hover,.footer-content a:hover{color:#000;text-decoration:underline}.about-container{margin:0;max-width:100%;padding:0}.about-hero{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;margin-bottom:32px;overflow:hidden;padding:48px 36px;position:relative}.about-hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='25' cy='25' r='1' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='75' cy='75' r='1' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='50' cy='10' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='10' cy='60' r='.5' fill='%23fff' opacity='.1'/%3E%3Ccircle cx='90' cy='40' r='.5' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-content{gap:32px;position:relative;z-index:1}.avatar-section,.hero-content{align-items:center;display:flex}.avatar-section{flex-direction:column;gap:16px}.avatar{height:120px;position:relative;width:120px}.avatar img{object-fit:cover}.avatar img,.avatar-placeholder{border:4px solid #ffffff4d;border-radius:50%;height:100%;transition:transform .3s ease;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center}.avatar-text{color:#fff;font-size:48px;font-weight:700;text-shadow:0 2px 4px #0003}.avatar:hover .avatar-placeholder,.avatar:hover img{transform:scale(1.05)}.avatar-ring{animation:pulse-ring 2s infinite;border:2px solid #ffffff80;border-radius:50%;bottom:-8px;left:-8px;position:absolute;right:-8px;top:-8px}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.status-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:flex;gap:8px;padding:8px 16px}.status-dot{animation:pulse-dot 2s infinite;background:#10b981;border-radius:50%;height:8px;width:8px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.status-text{font-size:14px;font-weight:500}.intro-section{flex:1 1}.name{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#fff,#f0f9ff);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:700;margin-bottom:8px}.title{font-size:20px;font-weight:500;margin-bottom:16px;opacity:.9}.description{font-size:16px;line-height:1.6;margin-bottom:24px;opacity:.85}.contact-links{display:flex;gap:16px}.contact-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:12px;color:#fff;display:inline-flex;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .3s ease}.contact-btn:hover{background:#ffffff40;box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.section-title{color:#1e293b;font-size:24px;gap:12px;margin-bottom:24px}.title-icon{font-size:28px}.skills-section{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 8px 32px #00000014;margin-bottom:32px;padding:32px}.skills-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skill-item{animation:slideInUp .6s ease forwards;opacity:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skill-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.skill-name{color:#374151;font-weight:600}.skill-percentage{color:#6b7280;font-size:14px;font-weight:500}.skill-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.skill-progress{border-radius:4px;height:100%;position:relative;transition:width 1s ease}.skill-progress:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.experience-section{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 8px 32px #00000014;margin-bottom:32px;padding:32px}.timeline{padding-left:32px;position:relative}.timeline:before{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:1px;bottom:0;content:"";left:16px;position:absolute;top:0;width:2px}.timeline-item{margin-bottom:32px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:#667eea;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 3px #e0e7ff;height:12px;left:-40px;position:absolute;top:8px;width:12px}.timeline-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 16px #0000000d;padding:24px}.experience-title{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:8px}.experience-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.company{color:#667eea;font-weight:500}.period{background:#f3f4f6;border-radius:12px;color:#6b7280;font-size:14px;padding:4px 12px}.experience-desc{color:#4b5563;line-height:1.6;margin:0}.hobbies-section{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:16px;box-shadow:0 8px 32px #00000014;margin-bottom:32px;padding:32px}.hobbies-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.hobby-card{animation:fadeInScale .6s ease forwards;background:#fff;border:1px solid #e5e7eb;border-radius:12px;opacity:0;padding:24px;text-align:center;transition:all .3s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.hobby-card:hover{border-color:#667eea;box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.hobby-icon{font-size:32px;margin-bottom:12px}.hobby-title{color:#1e293b;font-size:16px;font-weight:600;margin-bottom:8px}.hobby-desc{color:#6b7280;font-size:14px;margin:0}.contact-section{margin-bottom:32px}.contact-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;padding:32px;text-align:center}.contact-desc{font-size:16px;line-height:1.6;margin-bottom:24px;opacity:.9}.contact-methods{flex-wrap:wrap;gap:32px;justify-content:center}.contact-method{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border-radius:12px;gap:12px;padding:16px 24px}.method-icon{font-size:24px}.method-info{align-items:flex-start;display:flex;flex-direction:column}.method-label{font-size:12px;margin-bottom:4px;opacity:.8}.method-value{font-weight:500}@media (max-width:768px){.about-hero{padding:32px 24px}.hero-content{flex-direction:column;gap:24px;text-align:center}.name{font-size:28px}.title{font-size:18px}.description{font-size:15px}.skills-grid{grid-template-columns:1fr}.hobbies-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.contact-links{align-items:center;flex-direction:column}.contact-methods{flex-direction:column;gap:16px}.experience-meta{align-items:flex-start;flex-direction:column;gap:8px}.section-title{font-size:20px}.timeline{padding-left:24px}.timeline-marker{left:-32px}}@media (max-width:480px){.about-container{padding:0 8px}.about-hero,.experience-section,.hobbies-section,.skills-section{margin-bottom:24px;padding:24px 20px}.avatar{height:100px;width:100px}.avatar-text{font-size:40px}.name{font-size:24px}.hobbies-grid{grid-template-columns:repeat(2,1fr)}.hobby-card{padding:16px}.contact-card{padding:24px 20px}}@media (prefers-color-scheme:dark){.experience-section,.hobbies-section,.skills-section{background:linear-gradient(145deg,#1e293b,#334155);color:#f1f5f9}.section-title{color:#f1f5f9}.timeline-content{background:#334155;border-color:#475569;color:#f1f5f9}.experience-title,.hobby-card{color:#f1f5f9}.hobby-card{background:#334155;border-color:#475569}.hobby-title{color:#f1f5f9}}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.contact-container{-webkit-backdrop-filter:blur(25px) saturate(1.3);backdrop-filter:blur(25px) saturate(1.3);background:linear-gradient(135deg,#ffffff40,#ffffff26 50%,#e6e6fa33);border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 25px 50px #0000001a,0 10px 25px #ffffff1a,inset 0 1px 0 #fff6;margin:20px auto 0;max-width:1200px;overflow:hidden;padding:40px 20px;position:relative}.contact-container:before{animation:backgroundFloat 20s ease-in-out infinite;background:radial-gradient(circle at 30% 20%,#4facfe1a 0,#0000 50%),radial-gradient(circle at 70% 80%,#00f2fe14 0,#0000 50%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%;z-index:-1}@keyframes backgroundFloat{0%,to{transform:translateX(0) translateY(0) rotate(0deg)}25%{transform:translateX(-10px) translateY(-20px) rotate(1deg)}50%{transform:translateX(10px) translateY(-10px) rotate(-1deg)}75%{transform:translateX(-5px) translateY(15px) rotate(.5deg)}}.contact-header{margin-bottom:50px;text-align:center}.contact-title{-webkit-text-fill-color:#0000;animation:titleGlow 3s ease-in-out infinite alternate;background:linear-gradient(135deg,#4facfe,#00f2fe 35%,#667eea 70%,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:3.5rem;font-weight:700;margin-bottom:20px;position:relative;text-shadow:0 2px 8px #00000026}.contact-title:after{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;content:attr(data-text);left:0;position:absolute;top:0;z-index:-1}@keyframes titleGlow{0%{filter:drop-shadow(0 0 20px rgba(79,172,254,.3)) drop-shadow(0 0 40px rgba(0,242,254,.2))}to{filter:drop-shadow(0 0 30px rgba(102,126,234,.4)) drop-shadow(0 0 50px rgba(118,75,162,.3))}}.contact-subtitle{color:#2d3748d9;font-size:1.2rem;font-weight:500;line-height:1.6;margin:0 auto;max-width:600px;text-shadow:0 1px 3px #fff9}.contact-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-bottom:50px}.contact-form,.contact-info{-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);background:linear-gradient(135deg,#ffffff4d,#fff3 50%,#f0f8ff40);border:1px solid #fff6;border-radius:20px;box-shadow:0 8px 32px #00000014,inset 0 1px 0 #ffffff80;padding:40px}.section-title{align-items:center;color:#2d3748;display:flex;font-size:2rem;font-weight:600;gap:10px;margin-bottom:30px;text-shadow:0 1px 3px #fffc}.section-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4facfe,#00f2fe 50%,#667eea);-webkit-background-clip:text;background-clip:text;font-size:1.5rem}.contact-methods{display:flex;flex-direction:column;gap:25px}.contact-method{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fff6,#fff3 50%,#f5faff4d);border:1px solid #ffffff80;border-radius:15px;cursor:pointer;display:flex;gap:15px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.contact-method:hover{border-color:#667eea4d;box-shadow:0 15px 35px #0003;transform:translateY(-5px)}.contact-method:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.contact-method:hover:before{left:100%}.method-icon{align-items:center;background:linear-gradient(135deg,#4facfe,#00f2fe 50%,#667eea);border-radius:12px;box-shadow:0 4px 15px #4facfe4d;color:#fff;display:flex;flex-shrink:0;font-size:2rem;height:50px;justify-content:center;width:50px}.method-info{flex:1 1}.method-label{color:#2d3748;font-size:1.1rem;font-weight:600;margin-bottom:5px;text-shadow:0 1px 2px #fffc}.method-value{color:#2d3748cc;font-size:1rem;text-shadow:0 1px 2px #0003;word-break:break-all}.copy-btn{background:linear-gradient(135deg,#4facfe,#00f2fe 50%,#667eea);border:none;border-radius:8px;box-shadow:0 2px 10px #4facfe33;color:#fff;cursor:pointer;font-size:.9rem;min-width:70px;padding:10px 15px;transition:all .3s ease}.copy-btn:hover{box-shadow:0 5px 15px #4facfe66;transform:scale(1.05)}.copy-btn.copied{background:linear-gradient(135deg,#4caf50,#45a049)}.form-group{margin-bottom:25px}.form-label{color:#2d3748;display:block;font-size:1rem;font-weight:600;margin-bottom:8px;text-shadow:0 1px 2px #fffc}.form-input,.form-textarea{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fff6,#ffffff40);border:1px solid #ffffff80;border-radius:10px;box-shadow:0 2px 10px #0000000d;color:#2d3748;font-size:1rem;font-weight:500;padding:15px;transition:all .3s ease;width:100%}.form-input::placeholder,.form-textarea::placeholder{color:#2d374899;font-weight:400}.form-input:focus,.form-textarea:focus{background:linear-gradient(135deg,#ffffff80,#ffffff59);border-color:#4facfe;box-shadow:0 0 20px #4facfe4d;outline:none;transform:translateY(-2px)}.form-textarea{min-height:120px;resize:vertical}.submit-btn{background:linear-gradient(135deg,#4facfe,#00f2fe 50%,#667eea);border:none;border-radius:10px;box-shadow:0 4px 15px #4facfe4d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:15px;position:relative;transition:all .3s ease;width:100%}.submit-btn:hover{box-shadow:0 15px 35px #4facfe66;transform:translateY(-3px)}.submit-btn:active{transform:translateY(-1px)}.submit-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.submit-btn:hover:before{left:100%}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.submit-btn:disabled:hover{box-shadow:none;transform:none!important}.social-links{gap:20px;margin-top:40px}.social-link,.social-links{display:flex;justify-content:center}.social-link{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fff6,#ffffff40);border:1px solid #ffffff80;border-radius:50%;box-shadow:0 2px 10px #00000014;color:#2d3748;font-size:1.5rem;height:60px;text-decoration:none;transition:all .3s ease;width:60px}.social-link:hover{border-color:#4facfe;box-shadow:0 10px 25px #4facfe4d;transform:translateY(-5px) scale(1.1)}.social-link.github:hover{background:linear-gradient(135deg,#24292e,#6f42c1);color:#fff}.social-link.email:hover{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.social-link.qq:hover{background:linear-gradient(135deg,#12b7f5,#0099e0);color:#fff}@media (max-width:768px){.contact-container{-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);background:linear-gradient(135deg,#ffffff59,#fff3 50%,#f0f8ff4d);margin-top:10px;padding:20px 15px}.contact-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4facfe,#00f2fe 35%,#667eea 70%,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2.5rem;text-shadow:0 2px 8px #0003}.contact-content{gap:30px;grid-template-columns:1fr}.contact-form,.contact-info{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#fff6,#ffffff40 50%,#f5faff4d);padding:25px}.section-title{font-size:1.5rem}.contact-method{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff80,#ffffff4d 50%,#f8fafc66);gap:12px;padding:15px}.method-icon{font-size:1.5rem;height:40px;width:40px}.social-links{gap:15px}.social-link{background:linear-gradient(135deg,#0009,#0006);font-size:1.2rem;height:50px;width:50px}}@media (max-width:480px){.contact-title{font-size:2rem}.contact-subtitle{color:#fffffffa;font-size:1rem;text-shadow:0 2px 4px #0006}.contact-form,.contact-info{padding:20px}.contact-method{flex-direction:column;gap:10px;padding:20px}.contact-method,.method-info{text-align:center}.form-label,.method-label,.method-value{color:#2d3748;font-weight:600;text-shadow:0 1px 3px #fffc}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.contact-container,.contact-method{animation:fadeInUp .8s ease-out}.contact-method:first-child{animation-delay:.1s}.contact-method:nth-child(2){animation-delay:.2s}.contact-method:nth-child(3){animation-delay:.3s}.contact-method:nth-child(4){animation-delay:.4s}.success-message{background:linear-gradient(135deg,#4caf50,#45a049)}.error-message,.success-message{animation:fadeInUp .5s ease-out;border:1px solid #fff3;border-radius:10px;color:#fff;font-weight:600;margin-bottom:20px;padding:15px;text-align:center;text-shadow:0 1px 2px #0000004d}.error-message{background:linear-gradient(135deg,#f44336,#d32f2f)}@media (prefers-contrast:high){.contact-container{-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;background:#fffffff2!important;border:2px solid #2d3748!important}.contact-form,.contact-info,.contact-method{background:#ffffffe6!important;border:2px solid #2d3748!important}.contact-subtitle,.contact-title,.form-label,.method-label,.method-value,.section-title{-webkit-text-fill-color:unset!important;background:none!important;-webkit-background-clip:unset!important;background-clip:initial!important;color:#000!important;font-weight:700!important;text-shadow:none!important}.form-input,.form-textarea{background:#000000b3!important;border:2px solid #fff9!important;color:#fff!important}}@media (prefers-reduced-motion:reduce){.contact-container,.contact-method,.copy-btn,.error-message,.submit-btn,.success-message{animation:none!important;transition:none!important}.contact-title{animation:none!important}.contact-method:hover,.copy-btn:hover,.submit-btn:hover{transform:none!important}}.sitemap-manager{margin:0 auto;max-width:800px;padding:20px}.sitemap-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 32px #00000014;padding:32px}.sitemap-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:24px;font-weight:600;margin-bottom:12px}.sitemap-description{color:#64748b;font-size:16px;line-height:1.6;margin-bottom:24px}.sitemap-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.btn-primary,.btn-secondary{border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:500;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 16px #667eea4d;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 8px 24px #667eea66;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:linear-gradient(145deg,#f1f5f9,#e2e8f0);border:1px solid #cbd5e1;color:#475569}.btn-secondary:hover{background:linear-gradient(145deg,#e2e8f0,#cbd5e1);transform:translateY(-1px)}.message{animation:fadeIn .3s ease;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:24px;padding:12px 16px}.message.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac;color:#166534}.message.error{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #f87171;color:#dc2626}.sitemap-info,.sitemap-tips{margin-bottom:24px}.sitemap-info h4,.sitemap-tips h4{color:#334155;font-size:16px;font-weight:600;margin-bottom:12px}.sitemap-info ul,.sitemap-tips ol{color:#64748b;font-size:14px;line-height:1.6;padding-left:20px}.sitemap-info li,.sitemap-tips li{margin-bottom:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.sitemap-manager{padding:16px}.sitemap-card{padding:24px 20px}.sitemap-actions{flex-direction:column}.btn-primary,.btn-secondary{text-align:center;width:100%}}.article-detail{background:linear-gradient(145deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:16px;box-shadow:0 8px 32px #00000014,0 2px 16px #0000000a;box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-start;margin:0;min-height:80px;padding:40px 36px;width:100%}.article-detail,.back-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button{align-items:center;background:#667eea1a;border:1px solid #667eea40;border-radius:30px;box-shadow:0 4px 12px #667eea26;color:#5a67d8;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:1;margin-bottom:28px;max-width:140px;outline:none;overflow:hidden;padding:12px 24px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);vertical-align:middle;width:-webkit-fit-content;width:fit-content}.back-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.back-button:hover:before{left:100%}.back-button:hover{background:#667eeae6;border-color:#667eea;box-shadow:0 8px 25px #667eea59;color:#fff;transform:translateY(-2px)}.back-button:active{box-shadow:0 4px 15px #667eea40;transform:translateY(0)}.article-content-detail{color:#333;font-size:1.15rem;line-height:1.9;word-break:break-all}.article-title-detail{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;border-bottom:3px solid #0000;color:#1a202c;font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;margin-bottom:32px;padding-bottom:20px;position:relative;text-align:center}.article-title-detail:after{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:80px}.article-meta{background:linear-gradient(135deg,#667eea14,#764ba214);border:1px solid #667eea1f;border-radius:12px;color:#64748b;font-size:1rem;font-weight:500;letter-spacing:.02em;margin-bottom:32px;overflow:hidden;padding:16px 24px;position:relative;text-align:center}.article-meta:before{background:linear-gradient(135deg,#667eea,#764ba2);content:"";height:2px;left:0;position:absolute;right:0;top:0}.article-content-detail{color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.03em;line-height:2;margin-top:24px;padding:24px 0;text-align:justify;text-justify:inter-ideograph;white-space:pre-wrap;word-break:break-word}.article-content-detail p{color:#374151;margin-bottom:1.5em;text-indent:2em;transition:color .2s ease}.article-content-detail p:hover{color:#1f2937}.article-content-detail p:first-of-type{margin-top:0}.article-content-detail p:first-of-type:first-letter{color:#667eea;float:left;font-family:Georgia,serif;font-size:3em;font-weight:700;line-height:1;margin:.1em .1em 0 0}.article-card{align-items:flex-start;background:#fff;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;margin-bottom:24px;padding:24px 20px 18px;transition:box-shadow .2s}.article-card:hover{box-shadow:0 4px 16px #0000001f}.article-image{border-radius:6px;margin-bottom:14px;max-height:180px}.article-title{color:#222;font-size:1.3rem;font-weight:600;margin-bottom:8px}.article-description{color:#555;font-size:1.05rem;line-height:1.7}.article-card{background-color:#ffffffe6;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:7.5px;overflow:hidden;width:100%}.article-image{align-items:center;background-color:#f0f0f0;display:flex;height:200px;justify-content:center;object-fit:cover;width:100%}.article-image:before{color:#999;content:"图片加载中..."}.article-title{font-size:1.2rem;padding:0 1rem}.article-description{color:#666;padding:0 1rem 1rem}.article-card,.article-detail,.card{transition:box-shadow .22s cubic-bezier(.4,0,.2,1),transform .18s}.article-card:hover,.card:hover{box-shadow:0 8px 32px #3b82f61a,0 2px 8px #0000000f;transform:translateY(-2px) scale(1.012)}.article-content-detail{scrollbar-color:#d1d5db #f0f0f0;scrollbar-width:thin}.article-content-detail::-webkit-scrollbar{background:#f0f0f0;width:7px}.article-content-detail::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.article-skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(145deg,#fff,#fafbfc);border-radius:16px;box-shadow:0 8px 32px #00000014;padding:40px 36px}.skeleton-title{animation:skeleton-shimmer 2s infinite;background:linear-gradient(90deg,#f0f2f5 25%,#e4e7ea 50%,#f0f2f5 75%);background-size:200% 100%;border-radius:12px;height:40px;margin-bottom:32px;overflow:hidden;position:relative}.skeleton-title:before{animation:skeleton-shine 2s infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.skeleton-meta{animation:skeleton-shimmer 2s .2s infinite;background:linear-gradient(90deg,#f0f2f5 25%,#e4e7ea 50%,#f0f2f5 75%);background-size:200% 100%;border-radius:10px;height:20px;margin-bottom:32px;margin-left:auto;margin-right:auto;overflow:hidden;position:relative;width:70%}.skeleton-meta:before{animation:skeleton-shine 2s .2s infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.skeleton-content{animation:skeleton-shimmer 2s .4s infinite;background:linear-gradient(90deg,#f0f2f5 25%,#e4e7ea 50%,#f0f2f5 75%);background-size:200% 100%;border-radius:12px;height:300px;overflow:hidden;position:relative}.skeleton-content:before{animation:skeleton-shine 2s .4s infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeleton-shine{0%{left:-100%}to{left:100%}}@keyframes skeleton-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.002)}}.article-error{padding:40px 20px;text-align:center}.error-message{margin-top:20px}.error-message h2{color:#666;font-size:1.5rem;margin-bottom:10px}.error-message p{color:#888;font-size:1rem;line-height:1.5}.back-to-top{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:50px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:50px;z-index:1000}.back-to-top:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 8px 25px #667eea66;transform:translateY(-3px)}.back-to-top:active{box-shadow:0 4px 15px #667eea4d;transform:translateY(-1px)}@media (max-width:768px){.back-to-top{bottom:20px;font-size:18px;height:45px;right:20px;width:45px}}.App{display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background-color:#fffffff2;color:#000;display:flex;justify-content:space-between;padding:1rem}.logo{color:#000;font-size:1.5rem;font-weight:700}.nav-menu a{color:#000;margin-left:1rem;text-decoration:none}.nav-menu a:hover{text-decoration:underline}.main{background:#0000!important;display:flex}.right{background-color:initial!important;padding:1rem;position:relative;width:20%;z-index:1}
/*# sourceMappingURL=main.9eab5cbe.css.map*/