.daily-wallpaper{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;overflow:hidden}.daily-wallpaper-image{position:absolute;top:-5%;left:-5%;width:110%;height:110%;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1s ease-in-out,filter .5s ease;transform:scale(1.01);animation:wallpaperZoom 30s ease-in-out infinite alternate}.daily-wallpaper-image.loaded{opacity:1}@keyframes wallpaperZoom{0%{transform:scale(1.01)}to{transform:scale(1.05)}}.daily-wallpaper-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-primary);z-index:1}.wallpaper-spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--primary-color);border-radius:50%;animation:wallpaperSpin 1s linear infinite}@keyframes wallpaperSpin{to{transform:rotate(360deg)}}.daily-wallpaper-loading p{font-size:var(--font-size-sm);color:var(--text-primary);opacity:.8;text-shadow:0 1px 3px rgba(0,0,0,.5)}.daily-wallpaper-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md) var(--spacing-lg);background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all .3s;z-index:10}.daily-wallpaper-error:hover{background:#fff3;transform:translate(-50%,-50%) scale(1.05)}.daily-wallpaper-error span{text-shadow:0 1px 3px rgba(0,0,0,.5)}.daily-wallpaper-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0006,#0003,#0006);pointer-events:none}.daily-wallpaper-info{position:absolute;bottom:var(--spacing-lg);right:var(--spacing-lg);max-width:400px;z-index:10;opacity:.7;transition:opacity .3s}.daily-wallpaper-info:hover{opacity:1}.wallpaper-copyright{font-size:var(--font-size-xs);color:#fff;text-align:right;text-shadow:0 1px 3px rgba(0,0,0,.8);margin:0;line-height:1.4}.wallpaper-refresh-btn{position:absolute;bottom:var(--spacing-lg);left:var(--spacing-lg);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10}.wallpaper-refresh-btn:hover{background:#fff3;border-color:#ffffff4d;transform:scale(1.1) rotate(90deg);box-shadow:0 4px 20px #0000004d}.wallpaper-refresh-btn:active{transform:scale(.95) rotate(90deg)}.wallpaper-refresh-btn.refreshing{animation:refreshRotate 1s linear infinite;pointer-events:none}@keyframes refreshRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.daily-wallpaper-info{bottom:var(--spacing-md);right:var(--spacing-md);left:var(--spacing-md);max-width:none}.wallpaper-copyright{font-size:11px;text-align:center}.wallpaper-refresh-btn{bottom:calc(var(--spacing-md) + 50px);left:var(--spacing-md);width:40px;height:40px}.wallpaper-refresh-btn svg{width:18px;height:18px}}[data-theme=dark] .daily-wallpaper-overlay{background:linear-gradient(135deg,#0009,#0006,#0009)}.daily-wallpaper-image{will-change:transform,opacity}@media (prefers-reduced-motion: reduce){.daily-wallpaper-image{animation:none;transition:opacity .3s ease}.wallpaper-refresh-btn:hover{transform:scale(1.1)}.wallpaper-refresh-btn.refreshing{animation:none}}.toast-portal{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10000}.toast-container{position:absolute;pointer-events:none;display:flex;flex-direction:column;max-width:400px;width:100%}.toast-container-top-right{top:24px;right:24px;align-items:flex-end}.toast-container-top-left{top:24px;left:24px;align-items:flex-start}.toast-container-bottom-right{bottom:24px;right:24px;align-items:flex-end}.toast-container-bottom-left{bottom:24px;left:24px;align-items:flex-start}.toast-container-top-center{top:24px;left:50%;transform:translate(-50%);align-items:center}.toast-container-bottom-center{bottom:24px;left:50%;transform:translate(-50%);align-items:center}.toast-wrapper{width:100%;max-width:400px;pointer-events:auto}.toast{position:relative;display:flex;align-items:flex-start;padding:12px 16px;border-radius:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 16px #00000026;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none;will-change:transform,opacity}.toast-entering{animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1) forwards}.toast-exiting{animation:toastSlideOut .25s cubic-bezier(.4,0,.2,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-container-top-left .toast-entering,.toast-container-bottom-left .toast-entering{animation:toastSlideInLeft .3s cubic-bezier(.4,0,.2,1) forwards}.toast-container-top-left .toast-exiting,.toast-container-bottom-left .toast-exiting{animation:toastSlideOutLeft .25s cubic-bezier(.4,0,.2,1) forwards}@keyframes toastSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.toast-container-top-center .toast-entering,.toast-container-bottom-center .toast-entering{animation:toastFadeInDown .3s cubic-bezier(.4,0,.2,1) forwards}.toast-container-top-center .toast-exiting,.toast-container-bottom-center .toast-exiting{animation:toastFadeOutUp .25s cubic-bezier(.4,0,.2,1) forwards}@keyframes toastFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.toast-border{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:8px 0 0 8px}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:12px;margin-top:2px;flex-shrink:0;font-size:14px;font-weight:700;line-height:1}.toast-content{flex:1;min-width:0;padding-right:8px}.toast-message{margin:0;font-size:14px;line-height:1.5;word-wrap:break-word;word-break:break-word}.toast-action{padding:4px 12px;margin-left:8px;font-size:13px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease;white-space:nowrap;flex-shrink:0}.toast-action:hover{transform:translateY(-1px)}.toast-action:active{transform:translateY(0)}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:8px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;flex-shrink:0;transition:background-color .15s ease;color:inherit;opacity:.7}.toast-close:hover{opacity:1}.toast-close span{font-size:20px;line-height:1}.toast-progress-container{position:absolute;bottom:0;left:0;right:0;height:3px;background:transparent;overflow:hidden}.toast-progress-bar{height:100%;width:100%;transform-origin:left;transition:width linear}.toast-success.toast-light{background:#52c41af2;color:#fff}.toast-success.toast-light .toast-border{background:#389e0d}.toast-success.toast-light .toast-action{background:#fff3;color:#fff}.toast-success.toast-light .toast-action:hover{background:#ffffff4d}.toast-success.toast-light .toast-close:hover{background:#0000001a}.toast-success.toast-light .toast-progress-bar{background:#0003}.toast-error.toast-light{background:#ff4d4ff2;color:#fff}.toast-error.toast-light .toast-border{background:#cf1322}.toast-error.toast-light .toast-action{background:#fff3;color:#fff}.toast-error.toast-light .toast-action:hover{background:#ffffff4d}.toast-error.toast-light .toast-close:hover{background:#0000001a}.toast-error.toast-light .toast-progress-bar{background:#0003}.toast-warning.toast-light{background:#faad14f2;color:#fff}.toast-warning.toast-light .toast-border{background:#d48806}.toast-warning.toast-light .toast-action{background:#fff3;color:#fff}.toast-warning.toast-light .toast-action:hover{background:#ffffff4d}.toast-warning.toast-light .toast-close:hover{background:#0000001a}.toast-warning.toast-light .toast-progress-bar{background:#0003}.toast-info.toast-light{background:#1890fff2;color:#fff}.toast-info.toast-light .toast-border{background:#096dd9}.toast-info.toast-light .toast-action{background:#fff3;color:#fff}.toast-info.toast-light .toast-action:hover{background:#ffffff4d}.toast-info.toast-light .toast-close:hover{background:#0000001a}.toast-info.toast-light .toast-progress-bar{background:#0003}.toast-success.toast-dark{background:#69db7cf2;color:#1a1a1a}.toast-success.toast-dark .toast-border{background:#5cb85c}.toast-success.toast-dark .toast-action{background:#0000001a;color:#1a1a1a}.toast-success.toast-dark .toast-action:hover{background:#0003}.toast-success.toast-dark .toast-close:hover{background:#0000001a}.toast-success.toast-dark .toast-progress-bar{background:#0003}.toast-error.toast-dark{background:#ff6b6bf2;color:#fff}.toast-error.toast-dark .toast-border{background:#fa5252}.toast-error.toast-dark .toast-action{background:#ffffff26;color:#fff}.toast-error.toast-dark .toast-action:hover{background:#ffffff40}.toast-error.toast-dark .toast-close:hover{background:#00000026}.toast-error.toast-dark .toast-progress-bar{background:#0000004d}.toast-warning.toast-dark{background:#ffd43bf2;color:#1a1a1a}.toast-warning.toast-dark .toast-border{background:#fab005}.toast-warning.toast-dark .toast-action{background:#0000001a;color:#1a1a1a}.toast-warning.toast-dark .toast-action:hover{background:#0003}.toast-warning.toast-dark .toast-close:hover{background:#0000001a}.toast-warning.toast-dark .toast-progress-bar{background:#0003}.toast-info.toast-dark{background:#4dabf7f2;color:#fff}.toast-info.toast-dark .toast-border{background:#339af0}.toast-info.toast-dark .toast-action{background:#ffffff26;color:#fff}.toast-info.toast-dark .toast-action:hover{background:#ffffff40}.toast-info.toast-dark .toast-close:hover{background:#00000026}.toast-info.toast-dark .toast-progress-bar{background:#0000004d}@media (max-width: 640px){.toast-container{max-width:calc(100vw - 32px)}.toast-container-top-right,.toast-container-top-left,.toast-container-top-center{top:16px;left:16px;right:16px;transform:none}.toast-container-bottom-right,.toast-container-bottom-left,.toast-container-bottom-center{bottom:16px;left:16px;right:16px;transform:none}.toast-wrapper{max-width:100%}.toast{padding:12px 14px}.toast-message{font-size:13px}.toast:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to left,rgba(0,0,0,.1),transparent);pointer-events:none;opacity:0;transition:opacity .3s ease}.toast:hover:after{opacity:1}}@media (prefers-reduced-motion: reduce){.toast-entering,.toast-exiting{animation:none}.toast-entering{opacity:1}.toast-exiting{opacity:0}.toast,.toast-action,.toast-close,.toast-progress-bar{transition:none}}@media (prefers-contrast: high){.toast{border:2px solid currentColor}.toast-border{width:6px}}@media print{.toast-portal{display:none}}.auth-page{min-height:calc(100vh - 200px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) 0}.auth-container{width:100%;max-width:450px;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:var(--spacing-xl)}.auth-title{font-size:var(--font-size-xxl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.auth-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form .form-group{margin-bottom:0}.auth-form .form-input{height:44px;font-size:var(--font-size-md)}.auth-form .btn{height:44px;font-size:var(--font-size-md);font-weight:600}.auth-footer{text-align:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.auth-footer p{font-size:var(--font-size-sm);color:var(--text-secondary)}.auth-footer a{color:var(--primary-color);font-weight:600;margin-left:var(--spacing-xs)}.auth-footer a:hover{text-decoration:underline}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;transition:color .3s}.password-toggle:hover{color:var(--primary-color)}.social-login{margin-top:var(--spacing-lg)}.social-login-divider{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--text-tertiary);font-size:var(--font-size-sm)}.social-login-divider:before,.social-login-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.social-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-md)}.social-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);transition:all .3s}.social-button:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.remember-me{display:flex;align-items:center;gap:var(--spacing-sm)}.remember-me input[type=checkbox]{width:16px;height:16px;cursor:pointer}.remember-me label{font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer}.forgot-password{text-align:right;margin-top:calc(var(--spacing-sm) * -1)}.forgot-password a{font-size:var(--font-size-xs);color:var(--text-tertiary)}.forgot-password a:hover{color:var(--primary-color)}@media (max-width: 768px){.auth-container{max-width:100%;padding:0 var(--spacing-md)}.auth-card{padding:var(--spacing-lg)}.auth-title{font-size:var(--font-size-xl)}}.mention-autocomplete{position:relative;width:100%}.mention-textarea{width:100%;padding:12px;border:1px solid var(--border-color, #e0e0e0);border-radius:8px;font-size:14px;line-height:1.5;resize:vertical;min-height:80px;font-family:inherit;background:var(--bg-color, #fff);color:var(--text-color, #333)}.mention-textarea:focus{outline:none;border-color:var(--primary-color, #4a90d9);box-shadow:0 0 0 2px #4a90d91a}.mention-textarea:disabled{background:var(--bg-disabled, #f5f5f5);cursor:not-allowed}.mention-suggestions{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-color, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;margin-top:4px}.mention-suggestion-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:background-color .15s ease}.mention-suggestion-item:hover,.mention-suggestion-item.selected{background:var(--bg-hover, #f5f5f5)}.mention-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-right:10px}.mention-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--primary-color, #4a90d9);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;margin-right:10px}.mention-user-info{display:flex;flex-direction:column}.mention-username{font-weight:500;color:var(--text-color, #333)}.mention-nickname{font-size:12px;color:var(--text-secondary, #666)}.skeleton{background-color:var(--bg-hover);border-radius:var(--radius-sm);position:relative;overflow:hidden;display:inline-block;will-change:background-position;transform:translateZ(0);-webkit-transform:translateZ(0)}.skeleton-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skeleton-text{height:1em;width:100%;border-radius:var(--radius-sm);margin-bottom:.5em}.skeleton-circular{border-radius:50%;flex-shrink:0}.skeleton-rectangular{border-radius:var(--radius-md)}.skeleton-shimmer{background:linear-gradient(90deg,var(--bg-hover) 0%,rgba(255,255,255,.4) 50%,var(--bg-hover) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton-shimmer{background:linear-gradient(90deg,var(--bg-hover) 0%,rgba(255,255,255,.05) 50%,var(--bg-hover) 100%);background-size:200% 100%}.skeleton-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.skeleton-disable-mobile.skeleton-shimmer,.skeleton-disable-mobile.skeleton-pulse{animation:none}}@media (prefers-reduced-motion: reduce){.skeleton-shimmer,.skeleton-pulse{animation:none!important}.skeleton-pulse{opacity:.7}}.skeleton-xs{width:16px!important;height:16px!important}.skeleton-sm{width:24px!important;height:24px!important}.skeleton-md{width:40px!important;height:40px!important}.skeleton-lg{width:64px!important;height:64px!important}.skeleton-xl{width:100%!important;height:200px!important}.skeleton-paragraph{display:flex;flex-direction:column;gap:8px;width:100%}.skeleton-paragraph .skeleton:last-child{width:70%!important}.skeleton-article{display:flex;flex-direction:column;gap:16px;width:100%}.skeleton-card{background:rgba(var(--bg-primary-rgb),.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.skeleton-bordered{border:1px solid var(--border-light)}.skeleton-rounded{border-radius:var(--radius-lg)}.skeleton-pill{border-radius:9999px}.skeleton-shimmer{contain:layout style paint}.skeleton-shimmer:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transform:translate(-100%);will-change:transform}[data-theme=dark] .skeleton{background-color:var(--bg-hover)}[data-theme=dark] .skeleton-card{background:rgba(var(--bg-primary-rgb),.4)}@media (prefers-contrast: high){.skeleton{border:2px solid var(--border-color)}}@media print{.skeleton{display:none}}.spinner{display:inline-flex;align-items:center;justify-content:center;position:relative;will-change:transform;transform:translateZ(0);-webkit-transform:translateZ(0)}.spinner-xs{width:12px;height:12px}.spinner-sm{width:16px;height:16px}.spinner-md{width:24px;height:24px}.spinner-lg{width:32px;height:32px}.spinner-xl{width:40px;height:40px}.spinner-circular .spinner-svg{display:block;width:100%;height:100%;animation:rotate 1s linear infinite}.spinner-circle{stroke:currentColor;stroke-linecap:round;stroke-dasharray:90,150;stroke-dashoffset:0;transform-origin:center;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.spinner-primary{color:var(--primary-color)}.spinner-secondary{color:var(--text-tertiary)}.spinner-success{color:var(--success-color)}.spinner-warning{color:var(--warning-color)}.spinner-danger{color:var(--danger-color)}.spinner-white{color:#fff}.spinner-dots{display:inline-flex;align-items:center;gap:4px}.spinner-dot{display:inline-block;background-color:currentColor;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.spinner-xs .spinner-dot{width:2px;height:2px}.spinner-sm .spinner-dot{width:3px;height:3px}.spinner-md .spinner-dot{width:4px;height:4px}.spinner-lg .spinner-dot{width:5px;height:5px}.spinner-xl .spinner-dot{width:6px;height:6px}.spinner-dot:nth-child(1){animation-delay:-.32s}.spinner-dot:nth-child(2){animation-delay:-.16s}.spinner-dot:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.spinner-progress{position:relative;display:inline-block}.spinner-progress-svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.spinner-progress-bg{stroke:var(--bg-hover);stroke-linecap:round}.spinner-progress-bar{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .3s ease;transform-origin:center}.spinner-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.3em;font-weight:600;color:currentColor}.spinner-xs.spinner-progress{font-size:12px}.spinner-sm.spinner-progress{font-size:16px}.spinner-md.spinner-progress{font-size:24px}.spinner-lg.spinner-progress{font-size:32px}.spinner-xl.spinner-progress{font-size:40px}.spinner-label{margin-left:8px;font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.spinner-label-top{flex-direction:column}.spinner-label-top .spinner-label{margin-left:0;margin-bottom:8px}.spinner-label-right{flex-direction:row}.spinner-label-right .spinner-label{margin-left:8px;margin-right:0}.spinner-label-bottom{flex-direction:column}.spinner-label-bottom .spinner-label{margin-left:0;margin-top:8px}.spinner-label-left{flex-direction:row-reverse}.spinner-label-left .spinner-label{margin-left:0;margin-right:8px}.spinner-inline{display:inline-flex;vertical-align:middle}.spinner-fullscreen-wrapper{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--bg-primary-rgb),.8);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease-out}.spinner-fullscreen{flex-direction:column;gap:16px}.spinner-fullscreen .spinner-label{margin:0;font-size:var(--font-size-md);color:var(--text-primary)}.spinner-overlay-wrapper{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--bg-primary-rgb),.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:inherit;z-index:10;animation:fadeIn .2s ease-out}.spinner-overlay{flex-direction:column;gap:8px}button .spinner-inline{margin-right:4px}.spinner-circular .spinner-svg,.spinner-dots,.spinner-progress-svg{contain:layout style paint}@media (max-width: 768px){.spinner-label{font-size:var(--font-size-xs)}.spinner-fullscreen .spinner-label{font-size:var(--font-size-sm)}}@media (prefers-reduced-motion: reduce){.spinner-circular .spinner-svg,.spinner-dot,.spinner-progress-bar{animation-duration:3s}.spinner-circular .spinner-svg{animation:rotate-slow 3s linear infinite}.spinner-dot{animation:pulse-slow 2s ease-in-out infinite}@keyframes rotate-slow{to{transform:rotate(360deg)}}@keyframes pulse-slow{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}}[data-theme=dark] .spinner-fullscreen-wrapper{background:#000c}[data-theme=dark] .spinner-overlay-wrapper{background:#0009}@media (prefers-contrast: high){.spinner-progress-bg{stroke:var(--border-color);stroke-width:10}.spinner-progress-bar{stroke-width:10}}@media print{.spinner,.spinner-fullscreen-wrapper,.spinner-overlay-wrapper{display:none}}.spinner-glow{filter:drop-shadow(0 0 8px currentColor)}.spinner-pulse{animation:spinner-pulse 2s ease-in-out infinite}@keyframes spinner-pulse{0%,to{opacity:1}50%{opacity:.6}}.spinner-double{position:relative}.spinner-double:before,.spinner-double:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid transparent;border-radius:50%}.spinner-double:before{border-top-color:currentColor;animation:rotate 1s linear infinite}.spinner-double:after{border-bottom-color:currentColor;animation:rotate 1.5s linear infinite reverse}.spinner:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px}@media (prefers-contrast: high){.spinner:focus-visible{outline-width:3px}}.spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}.spinner-container-horizontal{flex-direction:row}.spinner-container-vertical{flex-direction:column}.reading-progress{position:fixed;top:0;left:0;right:0;z-index:1000}.reading-progress__bar{height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .1s ease}.reading-progress__info{position:fixed;top:12px;right:16px;display:flex;gap:12px;font-size:.75rem;color:var(--text-secondary, #666);background:var(--bg-card, rgba(255, 255, 255, .9));padding:4px 12px;border-radius:16px;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reading-progress__time{color:var(--text-primary, #333)}.reading-progress__percent{font-weight:600;color:var(--primary-color, #3b82f6)}.toc{position:fixed;right:24px;top:120px;width:220px;max-height:calc(100vh - 200px);overflow-y:auto;background:var(--bg-card, rgba(255, 255, 255, .95));border-radius:12px;padding:16px;box-shadow:0 4px 12px #0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100}.toc__title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #666);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.toc__list{list-style:none;padding:0;margin:0}.toc__item{margin:4px 0}.toc__item button{background:none;border:none;text-align:left;width:100%;padding:6px 8px;font-size:.8125rem;color:var(--text-secondary, #666);cursor:pointer;border-radius:4px;transition:all .2s ease;line-height:1.4}.toc__item button:hover{background:var(--bg-hover, #f5f5f5);color:var(--text-primary, #333)}.toc__item.active button{color:var(--primary-color, #3b82f6);background:var(--primary-bg, rgba(59, 130, 246, .1));font-weight:500}.toc__item--level-1 button{padding-left:8px}.toc__item--level-2 button{padding-left:16px}.toc__item--level-3 button{padding-left:24px}.toc__item--level-4 button{padding-left:32px}.toc__item--level-5 button{padding-left:40px}.toc__item--level-6 button{padding-left:48px}@media (max-width: 1200px){.toc{display:none}}.music-player{position:fixed;bottom:24px;right:24px;z-index:1000}.music-player__toggle{width:48px;height:48px;border-radius:50%;background:var(--primary-color, #3b82f6);border:none;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 12px #3b82f666;transition:transform .2s,box-shadow .2s}.music-player__toggle:hover{transform:scale(1.1);box-shadow:0 6px 16px #3b82f680}.music-player__panel{position:absolute;bottom:60px;right:0;width:280px;background:var(--bg-card, #fff);border-radius:12px;padding:16px;box-shadow:0 8px 24px #00000026}.music-player__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:var(--text-primary, #333)}.music-player__close{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--text-secondary, #666)}.music-player__controls{display:flex;justify-content:center;gap:16px;margin-bottom:12px}.music-player__btn{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary, #f5f5f5);border:none;font-size:1rem;cursor:pointer;transition:background .2s}.music-player__btn:hover{background:var(--bg-hover, #e5e5e5)}.music-player__track{text-align:center;font-size:.875rem;color:var(--text-secondary, #666);margin-bottom:12px}.music-player__volume{display:flex;align-items:center;gap:8px;margin-bottom:12px}.music-player__volume input{flex:1;height:4px;-webkit-appearance:none;background:var(--bg-secondary, #e5e5e5);border-radius:2px}.music-player__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary-color, #3b82f6);cursor:pointer}.music-player__custom{display:flex;gap:8px}.music-player__custom input{flex:1;padding:8px;border:1px solid var(--border-color, #e5e5e5);border-radius:6px;font-size:.75rem}.music-player__custom button{padding:8px 12px;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:.75rem;cursor:pointer}.immersive-reader{position:relative}.immersive-reader.focus-mode{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:var(--bg-primary, #fff);overflow-y:auto;padding:60px 24px 24px}.immersive-reader.focus-mode .reader-content{max-width:720px;margin:0 auto}.reader-controls{position:fixed;left:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:100}.reader-btn{width:40px;height:40px;border-radius:50%;background:var(--bg-card, rgba(255, 255, 255, .95));border:1px solid var(--border-color, #e5e5e5);font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.reader-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #00000026}.reader-btn.active{background:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff}.reader-content{transition:font-size .2s ease}.focus-mode~header,.focus-mode~nav,.focus-mode~aside,.focus-mode~footer{display:none!important}@media (max-width: 768px){.reader-controls{left:auto;right:16px;top:auto;bottom:80px;transform:none}.reader-btn{width:36px;height:36px;font-size:.875rem}.immersive-reader.focus-mode{padding:48px 16px 16px}}[data-theme=dark] .reader-btn{background:var(--bg-card, rgba(30, 30, 30, .95));border-color:var(--border-color, #333)}.article-detail{max-width:900px;margin:0 auto}.article-header{padding:32px}.article-header h1{font-size:32px;margin:0 0 16px;color:var(--text-primary);line-height:1.4}.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--text-secondary);font-size:14px;margin-bottom:16px}.author-link{display:flex;align-items:center;gap:8px;color:var(--primary-color);text-decoration:none;font-weight:500}.author-link:hover{text-decoration:underline}.author-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;overflow:hidden}.author-avatar img{width:100%;height:100%;object-fit:cover}.meta-divider{color:var(--border-color)}.category-badge{background:var(--primary-light);color:var(--primary-color);padding:2px 10px;border-radius:12px;font-size:12px}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.article-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.article-content{padding:32px;margin-top:20px}.markdown-body{font-size:16px;line-height:1.8;color:var(--text-primary);word-wrap:break-word}.markdown-body .space-y-4>*+*{margin-top:1rem}.markdown-body .whitespace-normal{white-space:normal}.markdown-body>div{color:inherit;background:transparent}.markdown-body{--foreground: var(--text-primary);--muted-foreground: var(--text-secondary);--background: var(--bg-primary);--muted: var(--bg-secondary);--border: var(--border-color);--primary: var(--primary-color)}.markdown-body h1,.markdown-body [data-streamdown=heading-1]{font-size:28px;margin:32px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border-color);font-weight:600}.markdown-body h2,.markdown-body [data-streamdown=heading-2]{font-size:24px;margin:28px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--border-color);font-weight:600}.markdown-body h3,.markdown-body [data-streamdown=heading-3]{font-size:20px;margin:24px 0 12px;font-weight:600}.markdown-body h4,.markdown-body [data-streamdown=heading-4]{font-size:18px;margin:20px 0 10px;font-weight:600}.markdown-body h5,.markdown-body h6,.markdown-body [data-streamdown=heading-5],.markdown-body [data-streamdown=heading-6]{font-size:16px;margin:16px 0 8px;font-weight:600}.markdown-body p{margin:16px 0}.markdown-body a,.markdown-body [data-streamdown=link]{color:var(--primary-color);text-decoration:none}.markdown-body a:hover,.markdown-body [data-streamdown=link]:hover{text-decoration:underline}.markdown-body code,.markdown-body [data-streamdown=inline-code]{background:var(--code-bg, #f6f8fa);padding:2px 6px;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9em;color:#e83e8c}.markdown-body pre{background:#1e1e1e;border-radius:8px;padding:0;overflow-x:auto;margin:16px 0;border:1px solid var(--border-color)}.markdown-body pre code,.markdown-body pre [data-streamdown=inline-code]{background:transparent;padding:0;color:inherit;font-size:14px;line-height:1.6}.markdown-body .shiki{margin:0;padding:16px;overflow-x:auto;border-radius:8px}.markdown-body [data-streamdown=code-block-copy-button],.markdown-body [data-streamdown=code-block-download-button]{color:var(--text-secondary);background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s,background-color .2s}.markdown-body [data-streamdown=code-block-copy-button]:hover,.markdown-body [data-streamdown=code-block-download-button]:hover{color:var(--text-primary);background:var(--bg-hover)}.markdown-body blockquote,.markdown-body [data-streamdown=blockquote]{border-left:4px solid var(--primary-color);margin:16px 0;padding:12px 16px;background:var(--bg-secondary);border-radius:0 8px 8px 0;color:var(--text-secondary)}.markdown-body blockquote p,.markdown-body [data-streamdown=blockquote] p{margin:0}.markdown-body ul,.markdown-body ol,.markdown-body [data-streamdown=unordered-list],.markdown-body [data-streamdown=ordered-list]{padding-left:24px;margin:16px 0}.markdown-body li,.markdown-body [data-streamdown=list-item]{margin:8px 0}.markdown-body li>ul,.markdown-body li>ol{margin:4px 0}.markdown-body table,.markdown-body [data-streamdown=table]{border-collapse:collapse;width:100%;margin:16px 0;overflow-x:auto}.markdown-body [data-streamdown=table-wrapper]{margin:16px 0}.markdown-body th,.markdown-body td,.markdown-body [data-streamdown=table-header-cell],.markdown-body [data-streamdown=table-cell]{border:1px solid var(--border-color);padding:10px 14px;text-align:left}.markdown-body th,.markdown-body [data-streamdown=table-header-cell]{background:var(--bg-secondary);font-weight:600}.markdown-body [data-streamdown=table-header]{background:var(--bg-secondary)}.markdown-body tr:nth-child(2n),.markdown-body [data-streamdown=table-row]:nth-child(2n){background:var(--bg-secondary)}.markdown-body img,.markdown-body [data-streamdown=image]{max-width:100%;border-radius:8px;margin:16px 0;display:block}.markdown-body [data-streamdown=image-wrapper]{margin:16px 0}.image-error{display:inline-block;padding:12px 16px;background:#fee2e2;color:#dc2626;border-radius:8px;font-size:14px;margin:8px 0}.image-loading{display:inline-block;padding:8px 12px;background:var(--bg-secondary);color:var(--text-muted);border-radius:4px;font-size:13px}.markdown-body hr,.markdown-body [data-streamdown=horizontal-rule]{border:none;border-top:1px solid var(--border-color);margin:24px 0}.markdown-body input[type=checkbox]{margin-right:8px}.markdown-body strong,.markdown-body [data-streamdown=strong]{font-weight:600}[data-theme=dark] .markdown-body{--foreground: var(--text-primary);--muted-foreground: var(--text-secondary);--background: var(--bg-primary);--muted: var(--bg-secondary);--border: var(--border-color)}[data-theme=dark] .markdown-body code,[data-theme=dark] .markdown-body [data-streamdown=inline-code]{background:var(--code-bg);color:#f472b6}[data-theme=dark] .markdown-body pre{background:#0d1117;border-color:var(--border-color)}[data-theme=dark] .markdown-body .shiki{background:#0d1117!important}[data-theme=dark] .image-error{background:#450a0a;color:#fca5a5}.comments-section{padding:32px;margin-top:20px}.comments-section h3{margin:0 0 24px;font-size:20px;color:var(--text-primary)}.comment-form{margin-bottom:24px}.comment-form textarea{margin-bottom:12px}.comment-info-row{display:flex;gap:12px;margin-bottom:12px}.comment-info-row .comment-input{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.comment-info-row .comment-input:focus{outline:none;border-color:var(--primary-color)}.comment-info-row .comment-input::placeholder{color:var(--text-muted)}.login-prompt{padding:16px;background:var(--bg-secondary);border-radius:8px;text-align:center;margin-bottom:24px}.login-prompt a{color:var(--primary-color);font-weight:500}.comments-list{display:flex;flex-direction:column;gap:16px}.comment-item{display:flex;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:8px}.comment-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.comment-header a{color:var(--primary-color);font-weight:500;text-decoration:none}.comment-header a:hover{text-decoration:underline}.comment-time{color:var(--text-muted);font-size:12px}.comment-content{color:var(--text-primary);line-height:1.6;word-wrap:break-word}.no-comments{text-align:center;padding:32px;color:var(--text-muted)}.error-page{max-width:500px;margin:100px auto;text-align:center}.error-page h2{margin-bottom:24px;color:var(--text-secondary)}@media (max-width: 768px){.article-header,.article-content,.comments-section{padding:20px}.article-header h1{font-size:24px}.article-meta{flex-direction:column;align-items:flex-start}.meta-divider{display:none}.markdown-body pre{padding:12px}}.reply-preview{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.cancel-reply{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 8px;border-radius:4px}.cancel-reply:hover{background:var(--bg-hover);color:var(--text-primary)}.reply-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 8px;margin-top:8px}.reply-btn:hover{color:var(--primary-color)}.comment-item.depth-1{margin-left:52px;background:var(--bg-tertiary, var(--bg-secondary))}.comment-item.depth-2{margin-left:104px;background:var(--bg-tertiary, var(--bg-secondary))}.comment-replies{margin-top:12px}.comment-content a.mention{color:var(--primary-color);font-weight:500;text-decoration:none}.comment-content a.mention:hover{text-decoration:underline}@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 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}.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-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-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{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:-webkit-fit-content;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%}.version-history-panel{position:fixed;top:0;right:0;width:800px;max-width:100vw;height:100vh;background:var(--bg-primary, white);box-shadow:-4px 0 20px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.version-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.version-panel-header h3{margin:0;font-size:18px;color:var(--text-primary, #1f2937)}.close-btn{width:32px;height:32px;border:none;background:transparent;font-size:24px;cursor:pointer;color:var(--text-secondary, #6b7280);border-radius:4px;transition:all .2s}.close-btn:hover{background:var(--bg-hover, #f3f4f6);color:var(--text-primary, #1f2937)}.version-panel-content{flex:1;display:flex;overflow:hidden}.version-list{width:280px;border-right:1px solid var(--border-color, #e5e7eb);overflow-y:auto;background:var(--bg-secondary, #f9fafb)}.version-item{padding:12px 16px;border-bottom:1px solid var(--border-color, #e5e7eb);cursor:pointer;transition:background .2s}.version-item:hover{background:var(--bg-hover, #f3f4f6)}.version-item.selected{background:var(--primary-light, #dbeafe);border-left:3px solid var(--primary-color, #3b82f6)}.version-info{display:flex;align-items:center;gap:8px;margin-bottom:4px}.version-num{font-weight:600;color:var(--text-primary, #1f2937)}.version-type{font-size:12px;padding:2px 6px;border-radius:4px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-secondary, #6b7280)}.version-type.type-manual{background:#dbeafe;color:#1d4ed8}.version-type.type-auto{background:#dcfce7;color:#15803d}.version-type.type-publish{background:#fef3c7;color:#b45309}.version-type.type-restore{background:#f3e8ff;color:#7c3aed}.version-title{font-size:14px;color:var(--text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.version-time{font-size:12px;color:var(--text-secondary, #6b7280)}.version-restored{font-size:11px;color:var(--text-tertiary, #9ca3af);margin-top:4px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:12px;border-top:1px solid var(--border-color, #e5e7eb)}.pagination button{padding:6px 12px;border:1px solid var(--border-color, #e5e7eb);background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination button:not(:disabled):hover{background:var(--bg-hover, #f3f4f6)}.version-preview{flex:1;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-color, #e5e7eb)}.preview-header h4{margin:0;font-size:16px;color:var(--text-primary, #1f2937)}.preview-actions{display:flex;gap:8px}.toggle-diff,.restore-btn{padding:6px 12px;border:1px solid var(--border-color, #e5e7eb);background:#fff;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.toggle-diff:hover{background:var(--bg-hover, #f3f4f6)}.toggle-diff.active,.restore-btn{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.restore-btn:hover{background:var(--primary-dark, #2563eb)}.preview-meta{display:flex;gap:16px;padding:8px 16px;font-size:13px;color:var(--text-secondary, #6b7280);background:var(--bg-secondary, #f9fafb);border-bottom:1px solid var(--border-color, #e5e7eb)}.preview-content{flex:1;overflow-y:auto;padding:16px}.preview-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Fira Code,Monaco,Consolas,monospace;font-size:14px;line-height:1.6;color:var(--text-primary, #1f2937)}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary, #6b7280)}.diff-view{font-family:Fira Code,Monaco,Consolas,monospace;font-size:13px;line-height:1.5}.diff-line{display:flex;padding:2px 8px}.diff-line.added{background:#dcfce7}.diff-line.removed{background:#fee2e2}.diff-prefix{width:20px;flex-shrink:0;color:var(--text-secondary, #6b7280);-webkit-user-select:none;user-select:none}.diff-line.added .diff-prefix{color:#15803d}.diff-line.removed .diff-prefix{color:#dc2626}.diff-line pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0003}.confirm-dialog h4{margin:0 0 16px;font-size:18px;color:var(--text-primary, #1f2937)}.confirm-dialog p{margin:0 0 12px;color:var(--text-secondary, #6b7280);line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.cancel-btn,.confirm-btn{padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-btn{border:1px solid var(--border-color, #e5e7eb);background:#fff;color:var(--text-primary, #1f2937)}.cancel-btn:hover{background:var(--bg-hover, #f3f4f6)}.confirm-btn{border:none;background:var(--primary-color, #3b82f6);color:#fff}.confirm-btn:hover{background:var(--primary-dark, #2563eb)}.loading,.error,.empty{padding:40px 20px;text-align:center;color:var(--text-secondary, #6b7280)}.error{color:#dc2626}@media (max-width: 768px){.version-history-panel{width:100vw}.version-panel-content{flex-direction:column}.version-list{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border-color, #e5e7eb)}.preview-header{flex-direction:column;gap:12px;align-items:flex-start}.preview-actions{width:100%}.preview-actions button{flex:1}}.article-editor{max-width:1200px;margin:0 auto}.editor-card{padding:32px}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.editor-header h2{margin:0;font-size:24px;color:var(--text-primary)}.editor-tabs{display:flex;gap:8px}.tab-btn{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all .2s}.tab-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.tab-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.tab-content{animation:fadeIn .2s ease}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:20px}.form-group{margin-bottom:20px}.form-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.form-hint{margin-top:6px;font-size:13px;color:var(--text-secondary)}.btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;padding:0}.btn-link:hover{text-decoration:underline}.cover-preview{margin-top:12px;border-radius:8px;overflow:hidden;max-width:300px}.cover-preview img{width:100%;height:auto;display:block}.checkbox-label{margin-left:8px}.custom-field-row{display:flex;gap:12px;margin-bottom:12px}.custom-field-row .form-input{flex:1}.btn-icon{width:40px;height:40px;border:1px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon.btn-danger{color:#dc2626}.btn-icon.btn-danger:hover{background:#fee2e2;border-color:#dc2626}.w-md-editor{border-radius:8px!important;border:1px solid var(--border-color)!important;background:var(--bg-primary, white)!important}.w-md-editor-toolbar{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;border-radius:8px 8px 0 0!important}.w-md-editor-content,.w-md-editor-area,.w-md-editor-text{background:var(--bg-primary, white)!important}.w-md-editor-text-pre,.w-md-editor-text-input{background:transparent!important;color:var(--text-primary, #262626)!important}.w-md-editor-text-pre>code,.w-md-editor-text-input{font-family:Fira Code,Monaco,Consolas,monospace!important;font-size:14px!important;line-height:1.6!important;color:var(--text-primary, #262626)!important}.w-md-editor-preview{padding:20px!important;background:var(--bg-primary, white)!important}.wmde-markdown{font-size:15px!important;line-height:1.8!important}.wmde-markdown h1,.wmde-markdown h2,.wmde-markdown h3,.wmde-markdown h4{margin-top:24px;margin-bottom:16px;font-weight:600;color:var(--text-primary)}.wmde-markdown code{background:#f6f8fa;padding:2px 6px;border-radius:4px;font-family:Fira Code,monospace;font-size:.9em}.wmde-markdown pre{background:#1e1e1e!important;border-radius:8px;padding:16px;overflow-x:auto}.wmde-markdown pre code{background:transparent;padding:0;color:#d4d4d4}.wmde-markdown blockquote{border-left:4px solid var(--primary-color);margin:16px 0;color:var(--text-secondary);background:var(--bg-secondary);padding:12px 16px;border-radius:0 8px 8px 0}.wmde-markdown table{border-collapse:collapse;width:100%;margin:16px 0}.wmde-markdown th,.wmde-markdown td{border:1px solid var(--border-color);padding:10px 14px;text-align:left}.wmde-markdown th{background:var(--bg-secondary);font-weight:600}.wmde-markdown img{max-width:100%;border-radius:8px}.wmde-markdown a{color:var(--primary-color);text-decoration:none}.wmde-markdown a:hover{text-decoration:underline}.wmde-markdown ul,.wmde-markdown ol{padding-left:24px;margin:12px 0}.wmde-markdown li{margin:6px 0}.radio-group{display:flex;gap:24px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--primary-color)}.form-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}@media (max-width: 768px){.editor-card{padding:20px}.editor-header{flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}.w-md-editor{height:400px!important}.custom-field-row{flex-direction:column}.custom-field-row .btn-icon{width:100%}}.editor-header-right{display:flex;align-items:center;gap:16px}.auto-save-indicator{font-size:13px;color:var(--text-secondary);padding:4px 8px;border-radius:4px;background:var(--bg-secondary)}.auto-save-indicator.saving{color:var(--primary-color)}.auto-save-indicator.saved{color:#15803d}.auto-save-indicator.error .error-text{color:#dc2626}.version-btn{background:var(--bg-secondary)!important;border-color:var(--border-color)!important}.version-btn:hover{background:var(--primary-light)!important;border-color:var(--primary-color)!important;color:var(--primary-color)!important}.conflict-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.conflict-dialog{background:#fff;border-radius:12px;padding:24px;max-width:450px;width:90%;box-shadow:0 20px 40px #0003}.conflict-dialog h4{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.conflict-dialog p{margin:0 0 12px;color:var(--text-secondary);line-height:1.5}.conflict-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.my-articles{max-width:900px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h2{margin:0;font-size:24px;color:var(--text-primary)}.empty-state{text-align:center;padding:60px 20px}.empty-state p{color:var(--text-secondary);margin-bottom:20px;font-size:16px}.article-card-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.article-info{flex:1;min-width:0}.article-info h3{margin:0 0 8px;font-size:18px}.article-info h3 a{color:var(--text-primary);text-decoration:none}.article-info h3 a:hover{color:var(--primary-color)}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.DRAFT{background:#fff3cd;color:#856404}.status-badge.PUBLISHED{background:#d4edda;color:#155724}.article-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 768px){.article-card-content{flex-direction:column}.article-actions{width:100%;justify-content:flex-end}}.notification-settings{background:var(--bg-primary);border-radius:12px;padding:24px}.notification-settings.loading{text-align:center;color:var(--text-secondary);padding:40px}.notification-settings h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.settings-description{margin:0 0 20px;color:var(--text-secondary);font-size:14px}.settings-message{padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.settings-message.success{background:#d1fae5;color:#065f46}.settings-message.error{background:#fee2e2;color:#991b1b}[data-theme=dark] .settings-message.success{background:#064e3b;color:#6ee7b7}[data-theme=dark] .settings-message.error{background:#450a0a;color:#fca5a5}.settings-list{display:flex;flex-direction:column;gap:16px}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg-secondary);border-radius:8px}.setting-info{display:flex;flex-direction:column;gap:4px}.setting-label{font-weight:500;color:var(--text-primary)}.setting-desc{font-size:13px;color:var(--text-secondary)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-color)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.profile-page{max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:flex-start;gap:24px;padding:32px;position:relative}.profile-avatar{flex-shrink:0}.profile-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid var(--primary-color)}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff}.profile-info{flex:1}.profile-info h1{margin:0 0 8px;font-size:28px;color:var(--text-primary)}.profile-info .username{color:var(--text-secondary);margin:0 0 4px}.profile-info .email{color:var(--text-secondary);margin:0 0 12px}.profile-info .bio{color:var(--text-primary);margin:0 0 12px;line-height:1.6}.profile-info .join-date{color:var(--text-muted);font-size:14px;margin:0}.edit-btn{position:absolute;top:24px;right:24px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat-card{text-align:center;padding:24px}.stat-value{font-size:36px;font-weight:700;color:var(--primary-color);margin-bottom:8px}.stat-label{color:var(--text-secondary);font-size:14px}.profile-actions{display:flex;gap:16px;justify-content:center}@media (max-width: 768px){.profile-header{flex-direction:column;align-items:center;text-align:center}.edit-btn{position:static;margin-top:16px}.profile-stats{grid-template-columns:1fr}.profile-actions{flex-direction:column}}.profile-notifications{margin-top:24px;padding:0}.profile-notifications .notification-settings{background:transparent;padding:24px}.pages-container{max-width:1200px;margin:0 auto}.pages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.pages-header h1{margin:0;font-size:24px;color:var(--text-primary)}.pages-list{padding:0;overflow:hidden}.pages-table{width:100%;border-collapse:collapse}.pages-table th,.pages-table td{padding:16px;text-align:left;border-bottom:1px solid var(--border-color)}.pages-table th{background:var(--bg-secondary);font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase}.pages-table tbody tr:hover{background:var(--bg-secondary)}.page-title{color:var(--text-primary);font-weight:500;text-decoration:none}.page-title:hover{color:var(--primary-color)}.slug-cell{font-family:Fira Code,monospace;font-size:13px;color:var(--text-secondary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-published{background:#dcfce7;color:#16a34a}.status-draft{background:#fef3c7;color:#d97706}.nav-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.nav-yes{background:#dbeafe;color:#2563eb}.nav-no{background:#f3f4f6;color:#6b7280}.actions-cell{display:flex;gap:8px}.btn-sm{padding:6px 12px;font-size:13px}@media (max-width: 768px){.pages-header{flex-direction:column;align-items:flex-start;gap:16px}.pages-table{display:block;overflow-x:auto}.actions-cell{flex-direction:column}}.page-editor{max-width:1200px;margin:0 auto}.page-editor .editor-card{padding:32px}.page-editor .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-editor .editor-header h2{margin:0;font-size:24px;color:var(--text-primary)}.page-editor .editor-tabs{display:flex;gap:8px}.page-editor .tab-btn{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all .2s}.page-editor .tab-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.page-editor .tab-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.page-editor .tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-editor .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-editor .form-group{margin-bottom:20px}.page-editor .form-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.page-editor .form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;transition:border-color .2s,box-shadow .2s}.page-editor .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.page-editor .form-textarea{resize:vertical;min-height:80px}.page-editor .form-hint{margin-top:6px;font-size:13px;color:var(--text-secondary)}.page-editor .btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:13px;padding:0}.page-editor .btn-link:hover{text-decoration:underline}.page-editor .checkbox-wrapper{display:flex;align-items:center;gap:8px;cursor:pointer}.page-editor .checkbox-label{font-weight:400}.page-editor .radio-group{display:flex;gap:24px}.page-editor .radio-label{display:flex;align-items:center;gap:8px;cursor:pointer}.page-editor .radio-label input[type=radio]{width:18px;height:18px;accent-color:var(--primary-color)}.page-editor .custom-field-row{display:flex;gap:12px;margin-bottom:12px}.page-editor .custom-field-row .form-input{flex:1}.page-editor .btn-icon{width:40px;height:40px;border:1px solid var(--border-color);background:#fff;border-radius:8px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s}.page-editor .btn-icon.btn-danger{color:#dc2626}.page-editor .btn-icon.btn-danger:hover{background:#fee2e2;border-color:#dc2626}.page-editor .form-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.page-editor .error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px}@media (max-width: 768px){.page-editor .editor-card{padding:20px}.page-editor .editor-header{flex-direction:column;align-items:flex-start}.page-editor .form-row{grid-template-columns:1fr}.page-editor .custom-field-row{flex-direction:column}.page-editor .custom-field-row .btn-icon{width:100%}}.site-config-container{max-width:900px;margin:0 auto}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.config-header h1{margin:0;font-size:24px;color:var(--text-primary)}.config-groups{display:flex;flex-direction:column;gap:24px}.config-group{padding:24px}.group-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.group-header h2{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.group-header p{margin:0;font-size:14px;color:var(--text-secondary)}.group-content{display:grid;gap:16px}.config-item{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start}.config-label{font-weight:500;color:var(--text-primary);padding-top:12px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-textarea{resize:vertical;min-height:80px}@media (max-width: 768px){.config-header{flex-direction:column;align-items:flex-start;gap:16px}.config-item{grid-template-columns:1fr;gap:8px}.config-label{padding-top:0}}.comment-system-info{grid-column:1 / -1;margin-bottom:8px}.comment-system-info .info-text{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:12px 16px;font-size:14px;color:#0369a1;margin:0}.comment-system-info .info-text a{color:#0284c7;text-decoration:underline;margin-left:8px}.comment-system-info .info-text a:hover{color:#0369a1}@media (prefers-color-scheme: dark){.comment-system-info .info-text{background:#0ea5e91a;border-color:#0ea5e94d;color:#7dd3fc}.comment-system-info .info-text a{color:#38bdf8}}.build-deploy-container{max-width:1000px;margin:0 auto}.build-deploy-container h1{margin:0 0 24px;font-size:24px;color:var(--text-primary)}.action-section{padding:24px;margin-bottom:24px}.action-section h2{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.action-buttons{display:flex;gap:12px;margin-bottom:12px}.action-hint{margin:0;font-size:14px;color:var(--text-secondary)}.btn-success{background:#16a34a;color:#fff;border:none}.btn-success:hover{background:#15803d}.btn-success:disabled{background:#86efac;cursor:not-allowed}.status-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.status-card{padding:24px}.status-card h2{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.status-info{display:flex;flex-direction:column;gap:12px}.status-row{display:flex;justify-content:space-between;align-items:center}.status-label{font-weight:500;color:var(--text-secondary)}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.status-success{background:#dcfce7;color:#16a34a}.status-failed{background:#fee2e2;color:#dc2626}.status-running{background:#dbeafe;color:#2563eb;animation:pulse 1.5s infinite}.status-pending{background:#fef3c7;color:#d97706}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.error-log{margin-top:12px}.error-log pre{background:#1e1e1e;color:#f87171;padding:12px;border-radius:8px;font-size:13px;overflow-x:auto;margin-top:8px}.history-section{padding:24px}.history-section h2{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.history-table th{font-weight:600;color:var(--text-secondary);font-size:13px;text-transform:uppercase}.history-table tbody tr:hover{background:var(--bg-secondary)}.no-data{color:var(--text-secondary);text-align:center;padding:24px}@media (max-width: 768px){.action-buttons{flex-direction:column}.status-section{grid-template-columns:1fr}.history-table{display:block;overflow-x:auto}}.deploy-group{display:flex;gap:8px}.deploy-target-select{padding:10px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:15px;background:var(--bg-color);color:var(--text-primary);cursor:pointer}.deploy-target-select:focus{outline:none;border-color:var(--primary-color)}.deploy-target-select:disabled{background:var(--bg-secondary);cursor:not-allowed}.media-library-container{max-width:1400px;margin:0 auto}.media-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.media-header h1{margin:0;font-size:24px;color:var(--text-primary)}.media-content{display:grid;grid-template-columns:1fr 320px;gap:24px}.media-grid-container{padding:24px}.media-stats{margin-bottom:16px;font-size:14px;color:var(--text-secondary)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.media-item{border:2px solid var(--border-color);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s}.media-item:hover{border-color:var(--primary-color)}.media-item.selected{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.media-item img{width:100%;height:120px;object-fit:cover}.media-item .file-icon{width:100%;height:120px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:48px}.media-item-name{padding:8px;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff}.media-detail{padding:24px;position:sticky;top:24px;height:fit-content}.media-detail h2{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.detail-preview{margin-bottom:16px;border-radius:8px;overflow:hidden}.detail-preview img{width:100%;max-height:200px;object-fit:contain;background:var(--bg-secondary)}.detail-preview .file-icon.large{width:100%;height:150px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);font-size:64px}.detail-info{margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color)}.detail-label{font-weight:500;color:var(--text-secondary)}.detail-value{color:var(--text-primary);word-break:break-all}.detail-url{margin-bottom:16px}.detail-url label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-secondary)}.url-input-group{display:flex;gap:8px}.url-input-group .form-input{flex:1;font-size:13px}.detail-actions{display:flex;gap:8px}.detail-actions .btn{flex:1}.btn-danger{background:#dc2626;color:#fff;border:none}.btn-danger:hover{background:#b91c1c}.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state p{margin-bottom:16px}.error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px}.success-message{background:#dcfce7;color:#16a34a;padding:12px 16px;border-radius:8px;margin-bottom:16px}.loading{padding:60px 20px;text-align:center;color:var(--text-secondary)}@media (max-width: 900px){.media-content{grid-template-columns:1fr}.media-detail{position:static}}@media (max-width: 768px){.media-header{flex-direction:column;align-items:flex-start;gap:16px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.theme-selector{max-width:1200px;margin:0 auto;padding:40px 20px}.theme-selector__header{margin-bottom:40px}.theme-selector__header h1{font-size:2rem;font-weight:700;color:var(--icarus-text-primary, #333);margin:0 0 8px}.theme-selector__header p{color:var(--icarus-text-secondary, #666);margin:0}.theme-selector__loading{text-align:center;padding:60px;color:var(--icarus-text-secondary, #666)}.theme-selector__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-bottom:40px}.theme-card{background:var(--icarus-bg-primary, white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .3s ease;position:relative;border:2px solid transparent}.theme-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.theme-card--active{border-color:#667eea}.theme-card--preview{transform:scale(1.02)}.theme-card__preview{height:180px;overflow:hidden}.theme-card__preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff}.theme-card__preview-placeholder--matery{background:linear-gradient(135deg,#667eea,#764ba2)}.theme-card__preview-placeholder--icarus{background:linear-gradient(135deg,#11998e,#38ef7d)}.theme-card__preview-placeholder--next{background:linear-gradient(135deg,#2c3e50,#4ca1af)}.theme-card__preview-placeholder--cactus{background:linear-gradient(135deg,#134e5e,#71b280)}.theme-card__preview-placeholder--yilia{background:linear-gradient(135deg,#ee9ca7,#ffdde1)}.theme-card__info{padding:20px}.theme-card__name{font-size:1.25rem;font-weight:600;color:var(--icarus-text-primary, #333);margin:0 0 8px}.theme-card__description{font-size:.875rem;color:var(--icarus-text-secondary, #666);line-height:1.5;margin:0 0 12px}.theme-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.theme-card__tag{font-size:.75rem;background:#667eea1a;color:#667eea;padding:4px 8px;border-radius:4px}.theme-card__meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--icarus-text-tertiary, #999)}.theme-card__badge{position:absolute;top:12px;right:12px;background:#667eea;color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:20px}.theme-selector__tips{background:var(--icarus-bg-secondary, #f5f5f5);border-radius:12px;padding:24px}.theme-selector__tips h3{font-size:1rem;font-weight:600;color:var(--icarus-text-primary, #333);margin:0 0 12px}.theme-selector__tips ul{margin:0;padding-left:20px;color:var(--icarus-text-secondary, #666)}.theme-selector__tips li{margin-bottom:8px}[data-theme=dark] .theme-card{background:var(--icarus-bg-primary, #1a1a2e)}[data-theme=dark] .theme-selector__tips{background:var(--icarus-bg-tertiary, #16213e)}.about-page{max-width:800px;margin:0 auto}.about-header{text-align:center;padding:48px 32px}.about-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff;margin:0 auto 24px}.about-header h1{margin:0 0 12px;font-size:32px;color:var(--text-primary)}.about-tagline{color:var(--text-secondary);font-size:18px;margin:0}.about-content{padding:32px;margin-top:20px}.about-section{margin-bottom:32px}.about-section:last-child{margin-bottom:0}.about-section h2{font-size:20px;color:var(--text-primary);margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid var(--primary-color);display:inline-block}.about-section p{color:var(--text-primary);line-height:1.8;margin:0}.skills-list{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{background:var(--primary-light);color:var(--primary-color);padding:6px 16px;border-radius:20px;font-size:14px;font-weight:500}.contact-list{list-style:none;padding:0;margin:0}.contact-list li{padding:8px 0;color:var(--text-primary)}.contact-list a{color:var(--primary-color);text-decoration:none}.contact-list a:hover{text-decoration:underline}@media (max-width: 768px){.about-header,.about-content{padding:24px 20px}.about-avatar{width:100px;height:100px;font-size:40px}.about-header h1{font-size:28px}}.dashboard{max-width:1200px;margin:0 auto;padding:24px}.dashboard-title{font-size:1.75rem;font-weight:600;margin-bottom:24px;color:var(--text-primary, #1a1a1a)}.dashboard-loading{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary, #666)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-card, #fff);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:var(--primary-color, #3b82f6)}.stat-label{font-size:.875rem;color:var(--text-secondary, #666);margin-top:4px}.dashboard-section{background:var(--bg-card, #fff);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.dashboard-section h2{font-size:1.125rem;font-weight:600;margin-bottom:16px;color:var(--text-primary, #1a1a1a)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header select{padding:6px 12px;border:1px solid var(--border-color, #e5e5e5);border-radius:6px;background:var(--bg-primary, #fff)}.heatmap-container{overflow-x:auto}.heatmap-months{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.75rem;color:var(--text-secondary, #666);padding-left:20px}.heatmap-grid{display:flex;gap:3px}.heatmap-week{display:flex;flex-direction:column;gap:3px}.heatmap-day{width:12px;height:12px;border-radius:2px;cursor:pointer}.heatmap-day.empty{visibility:hidden}.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:.75rem;color:var(--text-secondary, #666)}.legend-item{width:12px;height:12px;border-radius:2px}:root{--heatmap-0: #ebedf0;--heatmap-1: #9be9a8;--heatmap-2: #40c463;--heatmap-3: #30a14e;--heatmap-4: #216e39}[data-theme=dark]{--heatmap-0: #161b22;--heatmap-1: #0e4429;--heatmap-2: #006d32;--heatmap-3: #26a641;--heatmap-4: #39d353}.geo-list{display:flex;flex-direction:column;gap:12px}.geo-item{display:flex;align-items:center;gap:12px}.geo-country{width:80px;font-size:.875rem;color:var(--text-primary, #1a1a1a)}.geo-bar-container{flex:1;height:8px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;overflow:hidden}.geo-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .3s ease}.geo-count{width:100px;text-align:right;font-size:.875rem;color:var(--text-secondary, #666)}.trends-chart{height:200px}.trends-bars{display:flex;align-items:flex-end;justify-content:space-between;height:100%;gap:8px}.trend-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.trend-bar{width:100%;max-width:40px;background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:4px 4px 0 0;margin-top:auto;min-height:4px;transition:height .3s ease}.trend-label{font-size:.75rem;color:var(--text-secondary, #666);margin-top:8px}.no-data{text-align:center;color:var(--text-secondary, #666);padding:40px}@media (max-width: 768px){.dashboard{padding:16px}.stats-grid{grid-template-columns:repeat(2,1fr)}.geo-country{width:60px}.geo-count{width:80px}}:root,[data-theme=light]{--primary-color: #1890ff;--primary-hover: #40a9ff;--primary-active: #096dd9;--success-color: #52c41a;--warning-color: #faad14;--danger-color: #ff4d4f;--danger-hover: #ff7875;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-tertiary: #7a7a7a;--text-disabled: #a0a0a0;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f0f2f5;--bg-hover: #e9ecef;--border-color: #dee2e6;--border-light: #e9ecef;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--code-bg: #f6f8fa;--code-text: #24292e;--scrollbar-bg: #f1f1f1;--scrollbar-thumb: #c1c1c1;--scrollbar-thumb-hover: #a8a8a8;--bg-primary-rgb: 255, 255, 255;--primary-color-rgb: 24, 144, 255}[data-theme=dark]{--primary-color: #4dabf7;--primary-hover: #74c0fc;--primary-active: #339af0;--success-color: #69db7c;--warning-color: #ffd43b;--danger-color: #ff6b6b;--danger-hover: #ff8787;--text-primary: #f1f3f5;--text-secondary: #adb5bd;--text-tertiary: #868e96;--text-disabled: #495057;--bg-primary: #1a1a1a;--bg-secondary: #242424;--bg-tertiary: #2d2d2d;--bg-hover: #343a40;--border-color: #495057;--border-light: #343a40;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--code-bg: #2d2d2d;--code-text: #e9ecef;--scrollbar-bg: #2d2d2d;--scrollbar-thumb: #5c5c5c;--scrollbar-thumb-hover: #6c6c6c;--bg-primary-rgb: 26, 26, 26;--primary-color-rgb: 77, 171, 247}*{transition-property:background-color,color,border-color,box-shadow;transition-duration:.25s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.theme-switching *{transition:none!important}[data-theme=dark]{color-scheme:dark}[data-theme=dark] img{opacity:.95}[data-theme=dark] a{color:var(--primary-color)}[data-theme=dark] a:hover{color:var(--primary-hover)}[data-theme=dark] code{background-color:var(--code-bg);color:var(--code-text);border:1px solid var(--border-color)}[data-theme=dark] pre{background-color:var(--code-bg);border:1px solid var(--border-color)}[data-theme=dark] table{border-color:var(--border-color)}[data-theme=dark] th,[data-theme=dark] td,[data-theme=dark] .card{border-color:var(--border-light)}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--scrollbar-bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}[data-theme=dark] *:focus-visible{outline-color:var(--primary-color);outline-width:2px;outline-offset:2px}::selection{background:rgba(var(--primary-color-rgb),.2);color:var(--text-primary)}[data-theme=dark] ::selection{background:rgba(var(--primary-color-rgb),.4);color:var(--text-primary)}.gradient-bg{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-neon{color:#fff;text-shadow:0 0 7px #fff,0 0 10px #fff,0 0 21px #fff,0 0 42px var(--primary-color),0 0 82px var(--primary-color),0 0 92px var(--primary-color),0 0 102px var(--primary-color),0 0 151px var(--primary-color)}.text-glow{color:var(--text-primary);text-shadow:0 0 10px var(--primary-color)}.border-neon{border:2px solid var(--primary-color);box-shadow:0 0 5px var(--primary-color),0 0 10px var(--primary-color),inset 0 0 5px var(--primary-color),inset 0 0 10px var(--primary-color)}.border-neon-pulse{animation:neonPulse 2s ease-in-out infinite alternate}@keyframes neonPulse{0%{box-shadow:0 0 5px var(--primary-color),0 0 10px var(--primary-color),inset 0 0 5px var(--primary-color),inset 0 0 10px var(--primary-color)}to{box-shadow:0 0 10px var(--primary-color),0 0 20px var(--primary-color),0 0 40px var(--primary-color),inset 0 0 10px var(--primary-color),inset 0 0 20px var(--primary-color)}}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .glass{background:#1a1a1a99;border:1px solid rgba(255,255,255,.1)}.card-3d{perspective:1000px;transform-style:preserve-3d}.card-3d-inner{transition:transform .6s;transform-style:preserve-3d}.card-3d:hover .card-3d-inner{transform:rotateY(10deg) rotateX(5deg)}.card-float{animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.btn-glow{position:relative;overflow:hidden}.btn-glow:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--primary-color),#e73c7e,#23a6d5,var(--primary-color));background-size:400% 400%;border-radius:inherit;z-index:-1;animation:glowMove 3s ease infinite;filter:blur(10px);opacity:0;transition:opacity .3s}.btn-glow:hover:before{opacity:1}@keyframes glowMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.btn-gradient{background:linear-gradient(45deg,var(--primary-color),#722ed1);background-size:200% 200%;animation:gradientMove 3s ease infinite;color:#fff;border:none}.btn-gradient:hover{background-position:right center;transform:scale(1.05);box-shadow:0 5px 20px #722ed166}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ripple{position:relative;overflow:hidden}.ripple-effect{position:absolute;border-radius:50%;background:#ffffff80;transform:scale(0);animation:rippleAnimation .6s linear;pointer-events:none}@keyframes rippleAnimation{to{transform:scale(4);opacity:0}}.typewriter{overflow:hidden;border-right:2px solid var(--primary-color);white-space:nowrap;animation:typing 3.5s steps(40,end),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--primary-color)}}.blink{animation:blink 1s ease-in-out infinite alternate}@keyframes blink{0%{opacity:1}to{opacity:.3}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.rotate{animation:rotate 3s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.zoom-in{animation:zoomIn .3s ease-out}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.slide-in-right{animation:slideInRight .5s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.slide-in-left{animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.flip{perspective:1000px}.flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flip:hover .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{transform:rotateY(180deg)}.card-glow{box-shadow:0 0 5px #1890ff4d,0 0 10px #1890ff33,0 0 20px #1890ff1a;transition:all .3s ease}.card-glow:hover{box-shadow:0 0 10px #1890ff80,0 0 20px #1890ff66,0 0 40px #1890ff4d,0 0 80px #1890ff33;transform:translateY(-5px)}.rainbow-border{position:relative;border-radius:var(--radius-md);overflow:hidden}.rainbow-border:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,red,#ff7300,#fffb00,#48ff00,#00ffd5,#002bff,#7a00ff,#ff00c8,red);background-size:400% 400%;border-radius:inherit;z-index:-1;animation:rainbowMove 20s linear infinite}@keyframes rainbowMove{0%{background-position:0% 50%}to{background-position:400% 50%}}.particles-bg{position:relative;overflow:hidden}.particles-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,var(--primary-color) 1px,transparent 1px),radial-gradient(circle,var(--primary-color) 1px,transparent 1px);background-size:50px 50px;background-position:0 0,25px 25px;opacity:.1;animation:particlesMove 20s linear infinite}@keyframes particlesMove{0%{transform:translateY(0)}to{transform:translateY(-50px)}}.scanlines{position:relative;overflow:hidden}.scanlines:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);pointer-events:none}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch:before{left:2px;text-shadow:-2px 0 #ff00c1;clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.glitch:after{left:-2px;text-shadow:-2px 0 #00fff9;clip:rect(44px,450px,56px,0);animation:glitch-anim2 5s infinite linear alternate-reverse}@keyframes glitch-anim{0%{clip:rect(13px,9999px,81px,0)}5%{clip:rect(89px,9999px,88px,0)}10%{clip:rect(6px,9999px,76px,0)}15%{clip:rect(3px,9999px,6px,0)}20%{clip:rect(78px,9999px,93px,0)}25%{clip:rect(45px,9999px,17px,0)}30%{clip:rect(63px,9999px,97px,0)}35%{clip:rect(20px,9999px,62px,0)}40%{clip:rect(34px,9999px,91px,0)}45%{clip:rect(5px,9999px,15px,0)}50%{clip:rect(54px,9999px,49px,0)}55%{clip:rect(83px,9999px,66px,0)}60%{clip:rect(22px,9999px,4px,0)}65%{clip:rect(57px,9999px,26px,0)}70%{clip:rect(11px,9999px,59px,0)}75%{clip:rect(70px,9999px,28px,0)}80%{clip:rect(40px,9999px,80px,0)}85%{clip:rect(25px,9999px,55px,0)}90%{clip:rect(95px,9999px,19px,0)}95%{clip:rect(37px,9999px,42px,0)}to{clip:rect(62px,9999px,75px,0)}}@keyframes glitch-anim2{0%{clip:rect(65px,9999px,100px,0)}5%{clip:rect(52px,9999px,74px,0)}10%{clip:rect(79px,9999px,85px,0)}15%{clip:rect(75px,9999px,27px,0)}20%{clip:rect(67px,9999px,73px,0)}25%{clip:rect(89px,9999px,50px,0)}30%{clip:rect(23px,9999px,92px,0)}35%{clip:rect(45px,9999px,33px,0)}40%{clip:rect(8px,9999px,68px,0)}45%{clip:rect(56px,9999px,97px,0)}50%{clip:rect(32px,9999px,25px,0)}55%{clip:rect(70px,9999px,78px,0)}60%{clip:rect(18px,9999px,39px,0)}65%{clip:rect(91px,9999px,88px,0)}70%{clip:rect(44px,9999px,16px,0)}75%{clip:rect(29px,9999px,83px,0)}80%{clip:rect(62px,9999px,51px,0)}85%{clip:rect(38px,9999px,60px,0)}90%{clip:rect(93px,9999px,42px,0)}95%{clip:rect(15px,9999px,95px,0)}to{clip:rect(58px,9999px,31px,0)}}.shine{position:relative;overflow:hidden}.shine:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}20%{left:100%}to{left:100%}}@media (prefers-reduced-motion: reduce){.gradient-bg,.rotate,.pulse,.bounce,.blink{animation:none}}@media (hover: none) and (pointer: coarse){.card-3d:hover .card-3d-inner,.flip:hover .flip-inner,.btn-gradient:hover{transform:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #1890ff;--primary-hover: #40a9ff;--primary-active: #096dd9;--success-color: #52c41a;--warning-color: #faad14;--danger-color: #ff4d4f;--danger-hover: #ff7875;--text-primary: #262626;--text-secondary: #595959;--text-tertiary: #8c8c8c;--text-disabled: #bfbfbf;--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-hover: #f0f0f0;--border-color: #d9d9d9;--border-light: #f0f0f0;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Microsoft YaHei,微软雅黑,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-tertiary);color:var(--text-primary);line-height:1.6;font-size:var(--font-size-sm);transition:background-color .3s ease,color .3s ease}body,.card,.btn,.nav a,.form-input,.form-textarea,.form-select,.tag,.badge{transition-property:background-color,border-color,color,box-shadow,opacity,transform;transition-duration:.2s;transition-timing-function:ease-out}code{font-family:Fira Code,Consolas,Monaco,Courier New,monospace;background-color:var(--bg-hover);padding:2px 6px;border-radius:var(--radius-sm);font-size:.9em}pre{background-color:var(--bg-hover);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-md) 0}pre code{background:none;padding:0}a{color:var(--primary-color);text-decoration:none;transition:color .3s}a:hover{color:var(--primary-hover)}a:active{color:var(--primary-active)}button{cursor:pointer;border:none;outline:none;font-family:inherit;transition:all .3s}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;outline:none;transition:border-color .3s,box-shadow .3s}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 20px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;border:none;outline:none;cursor:pointer}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.btn:active:after{width:200px;height:200px}.btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--primary-color),#69c0ff);color:#fff;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-primary:hover:before{left:100%}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover),#91caff);transform:translateY(-2px);box-shadow:0 5px 15px #1890ff66,0 10px 30px #1890ff33}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background-color:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#73d13d}.btn-sm{padding:6px 12px;font-size:var(--font-size-xs)}.btn-lg{padding:14px 28px;font-size:var(--font-size-md)}.btn-block{width:100%}.card{background:var(--bg-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(var(--primary-color-rgb),.03) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-interactive{cursor:pointer}.card-interactive:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),#722ed1);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.4,0,.2,1)}.card-interactive:hover{box-shadow:var(--shadow-md),0 0 20px rgba(var(--primary-color-rgb),.15);border-color:var(--border-color)}.card-interactive:hover:before{transform:scaleX(1)}.card-interactive:hover:after{opacity:1}@media (hover: none) and (pointer: coarse){.card-interactive:hover{box-shadow:var(--shadow-sm);border-color:var(--border-light);transform:none}.card-interactive:hover:before{transform:scaleX(0)}.btn:hover{transform:none;box-shadow:var(--shadow-sm)}.tag:hover{transform:none}}.card-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.card-body{padding:var(--spacing-md) 0}.card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--border-light);margin-top:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary);font-size:var(--font-size-sm)}.form-label.required:after{content:" *";color:var(--danger-color)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background-color:var(--bg-primary);color:var(--text-primary)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--primary-hover)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1890ff26}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--bg-hover);cursor:not-allowed;color:var(--text-disabled);opacity:.6}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.form-help{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.form-input.is-valid,.form-textarea.is-valid{border-color:var(--success-color)}.form-input.is-invalid,.form-textarea.is-invalid{border-color:var(--danger-color)}.form-input.is-valid:focus-visible,.form-textarea.is-valid:focus-visible{box-shadow:0 0 0 3px #52c41a26}.form-input.is-invalid:focus-visible,.form-textarea.is-invalid:focus-visible{box-shadow:0 0 0 3px #ff4d4f26}.error-message{color:var(--danger-color);font-size:var(--font-size-xs);margin-top:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.success-message{color:var(--success-color);font-size:var(--font-size-xs);margin-top:var(--spacing-sm)}.warning-message{color:var(--warning-color);font-size:var(--font-size-xs);margin-top:var(--spacing-sm)}.loading{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.loading-spinner{display:inline-block;width:40px;height:40px;border:3px solid var(--border-light);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tag{display:inline-flex;align-items:center;padding:4px 12px;background:linear-gradient(135deg,#1890ff1a,#722ed11a);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;border:1px solid rgba(24,144,255,.2);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.tag:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.tag:hover{background:linear-gradient(135deg,var(--primary-color),#722ed1);color:#fff;border-color:transparent;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 15px #1890ff66,0 0 20px #722ed14d}.tag:hover:before{left:100%}.tag-primary{background:linear-gradient(135deg,#1890ff26,#1890ff1a);color:var(--primary-color);border-color:#1890ff33}.tag-primary:hover{background:var(--primary-color);color:#fff}.tag-success{background:linear-gradient(135deg,#52c41a26,#52c41a1a);color:var(--success-color);border-color:#52c41a33}.tag-success:hover{background:var(--success-color);color:#fff}.tag-warning{background:linear-gradient(135deg,#faad1426,#faad141a);color:var(--warning-color);border-color:#faad1433}.tag-warning:hover{background:var(--warning-color);color:#fff}.tag-danger{background:linear-gradient(135deg,#ff4d4f26,#ff4d4f1a);color:var(--danger-color);border-color:#ff4d4f33}.tag-danger:hover{background:var(--danger-color);color:#fff}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--danger-color);color:#fff;border-radius:10px;font-size:var(--font-size-xs);font-weight:500;line-height:1}.divider{height:1px;background:var(--border-light);margin:var(--spacing-lg) 0}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-tertiary)}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.3}.empty-state-text{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}@media (max-width: 768px){:root{--spacing-lg: 16px;--spacing-xl: 24px}.container{padding:0 var(--spacing-md)}.btn{padding:8px 16px}.card{padding:var(--spacing-md)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--primary-color)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}
