body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-trigger-button{padding:8px 16px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#595959;font-size:14px;cursor:pointer;transition:all .3s;font-family:inherit}.login-trigger-button:hover{border-color:#1890ff;color:#1890ff;background:#f0f8ff}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:480px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.login-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#262626}.login-modal-close{background:none;border:none;font-size:28px;color:#8c8c8c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1}.login-modal-close:hover{background:#f5f5f5;color:#262626}.login-modal-content{padding:24px}.login-modal-description{margin:0 0 20px;color:#8c8c8c;font-size:14px;text-align:center}.login-options{display:flex;flex-direction:column;gap:12px}.login-option{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s;font-family:inherit;text-align:left;width:100%}.login-option:hover:not(:disabled){border-color:#1890ff;background:#f0f8ff;transform:translateY(-2px);box-shadow:0 4px 12px #1890ff26}.login-option:active:not(:disabled){transform:translateY(0)}.login-option:disabled{opacity:.6;cursor:not-allowed}.login-option-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-option-icon svg{width:100%;height:100%}.github-option .login-option-icon svg{color:#24292e}.google-option .login-option-icon svg{width:44px;height:44px}.wechat-option .login-option-icon svg{color:#07c160}.login-option-content{flex:1 1;min-width:0}.login-option-name{font-size:16px;font-weight:600;color:#262626;margin-bottom:4px}.login-option-desc{font-size:13px;color:#8c8c8c}.login-option-arrow{font-size:20px;color:#bfbfbf;flex-shrink:0;transition:all .3s}.login-option:hover:not(:disabled) .login-option-arrow{color:#1890ff;transform:translateX(4px)}.user-menu-container{position:relative}.user-info{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:4px;transition:all .2s}.user-info:hover{background:#f5f5f5}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-name{font-size:14px;color:#262626;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.user-menu-arrow{font-size:10px;color:#8c8c8c;margin-left:4px;transition:transform .2s}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:240px;z-index:1000;animation:slideDown .2s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:#fafafa}.user-dropdown-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#e8e8e8}.user-dropdown-avatar img{width:100%;height:100%;object-fit:cover}.user-dropdown-info{flex:1 1;min-width:0}.user-dropdown-name{font-size:15px;font-weight:600;color:#262626}.user-dropdown-email,.user-dropdown-name{margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-email{font-size:13px;color:#8c8c8c}.user-dropdown-provider{font-size:12px;color:#1890ff;display:inline-block;padding:2px 8px;background:#e6f7ff;border-radius:4px}.user-dropdown-credits{font-size:13px;color:#595959;margin-top:6px}.user-dropdown-credits strong{color:#1890ff}.user-dropdown-credits-hint{font-size:11px;color:#8c8c8c;margin-left:4px}.user-dropdown-divider{height:1px;background:#f0f0f0;margin:4px 0}.user-dropdown-item{display:flex;align-items:center;width:100%;padding:12px 16px;border:none;background:none;color:#262626;font-size:14px;cursor:pointer;transition:all .2s;font-family:inherit;text-align:left}.user-dropdown-item:hover{background:#f5f5f5}.logout-item{color:#ff4d4f}.logout-item:hover{background:#fff1f0;color:#ff4d4f}.wechat-qr-modal{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:90%;max-width:500px;max-height:90vh;overflow:hidden;animation:slideUp .3s ease-out}.wechat-qr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}.wechat-qr-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#262626}.wechat-qr-modal-content{padding:24px;display:flex;flex-direction:column;align-items:center;min-height:400px}.wechat-qr-tip{margin:0 0 20px;color:#8c8c8c;font-size:14px;text-align:center}.wechat-qr-iframe-container{width:100%;max-width:280px;height:350px;border:1px solid #e8e8e8;border-radius:8px;overflow:hidden;background:#fafafa;position:relative}.wechat-qr-iframe{width:100%;height:100%;border:none;display:block;transform:scale(.9);transform-origin:top center}@media (max-width:768px){.login-modal{width:95%;max-width:none;margin:20px}.login-modal-header{padding:16px 20px}.login-modal-header h2{font-size:18px}.login-modal-content{padding:20px}.login-option{padding:14px}.login-option-icon{width:36px;height:36px}.login-option-name{font-size:15px}.login-option-desc{font-size:12px}.user-name{max-width:80px}.user-dropdown-menu{right:-10px;min-width:200px}.wechat-qr-modal{width:95%;max-width:none;margin:20px}.wechat-qr-modal-header{padding:16px 20px}.wechat-qr-modal-header h2{font-size:18px}.wechat-qr-modal-content{padding:20px;min-height:350px}.wechat-qr-iframe-container{max-width:240px;height:300px}}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100vh}.App{margin:0;padding:0;min-height:100vh;display:flex;flex-direction:column}.App-header{background-color:#fff;border-bottom:1px solid #eaeaea;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #0000000d}.App-logo{height:40px;pointer-events:none}.App-title{color:#262626;font-size:20px;font-weight:500;margin:0;gap:12px}.App-nav,.App-title{display:flex;align-items:center}.App-nav{gap:24px}.App-nav a{color:#595959;text-decoration:none;font-size:15px;padding:8px 12px;border-radius:4px;transition:all .2s}.App-nav a:hover{color:#1890ff;background-color:#f5f7fa}.App-nav a.active{color:#1890ff;background-color:#f0f7ff}.language-switcher{display:flex}.language-button{padding:6px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#595959;cursor:pointer;font-size:14px;transition:all .2s}.language-button:hover{color:#1890ff;border-color:#1890ff;background-color:#f5f7fa}.language-button.active{color:#1890ff;border-color:#1890ff;background-color:#f0f7ff}@media (max-width:768px){.App-header{padding:0 16px}.App-title{font-size:18px}.App-nav{gap:16px}.App-nav a{padding:6px 10px;font-size:14px}}.tool-container{width:100%;height:64px;flex-direction:row;padding:0 24px}.logo-area,.tool-container{display:flex;align-items:center}.logo-area{flex-shrink:0;gap:12px;text-decoration:none;color:inherit;cursor:pointer}.logo-icon{width:24px;height:24px;object-fit:contain}.logo-area h1{margin:0;font-size:20px;font-weight:500;color:#262626}.nav-area{flex:1 1;display:flex;justify-content:flex-start;margin-left:48px;margin-right:auto}.nav-item{padding:0 20px;height:64px;display:flex;align-items:center;color:#595959;font-size:15px;cursor:pointer;transition:all .3s;position:relative;text-decoration:none}.nav-item.active,.nav-item:hover{color:#1890ff}.nav-item.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1890ff}.nav-item-dropdown{position:relative;padding:0}.nav-item-link{padding:0 20px;height:64px;display:flex;align-items:center;color:#595959;font-size:15px;cursor:pointer;transition:all .3s;position:relative;text-decoration:none}.nav-item-link.active,.nav-item-link:hover{color:#1890ff}.nav-item-link.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1890ff}.nav-item-dropdown:after{content:"▼";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:#8c8c8c;pointer-events:none}.nav-item-dropdown:hover:after{color:#1890ff}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:#fff;border-radius:6px;box-shadow:0 3px 6px -4px #0000001f,0 6px 16px 0 #00000014;border:1px solid #eaeaea;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s;z-index:1000;padding:4px 0;margin-top:2px}.nav-item-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;color:#595959;font-size:14px;text-decoration:none;transition:all .2s;cursor:pointer}.nav-dropdown-item:hover{background:#f5f7fa;color:#1890ff}.nav-dropdown-item:hover .external-link-icon{color:#1890ff}.nav-dropdown-item.active{color:#1890ff;background:#f0f7ff}.nav-item.chrome-plugin,.nav-item.idea-plugin{display:flex;align-items:center;gap:6px}.external-link-icon{font-size:14px;color:#8c8c8c;margin-top:-2px}.nav-item:hover .external-link-icon{color:#1890ff}@media screen and (max-width:768px){.tool-container{padding:0 16px;height:56px}.logo-area h1{font-size:18px}.nav-area{margin-left:24px}.right-area{gap:16px}.nav-item{padding:0 12px;font-size:14px}.external-link-icon{font-size:12px}}.Content{padding:20px;background-color:#f5f5f5}.right-area{display:flex;justify-content:flex-end;gap:24px;padding-right:24px}.language-switcher,.right-area{flex-direction:row;align-items:center;min-width:-moz-fit-content;min-width:fit-content;flex-shrink:0}.language-switcher{display:inline-flex;gap:8px}.language-switcher button{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#595959;cursor:pointer;font-size:14px;transition:all .3s;white-space:nowrap;height:32px;line-height:24px}.language-switcher button.active,.language-switcher button:hover{color:#1890ff;border-color:#1890ff;background:#f0f7ff}.feedback-button{display:inline-flex;align-items:center;justify-content:center;color:#595959;text-decoration:none;padding:4px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:all .3s;white-space:nowrap;height:32px;line-height:24px;flex-shrink:0;background:#fff}.feedback-button:hover{color:#1890ff;border-color:#1890ff;background:#f0f7ff}@media screen and (max-width:768px){.right-area{gap:12px;padding-right:16px}.feedback-button,.language-switcher button{padding:2px 8px;font-size:12px;height:28px;line-height:20px}}.App-footer{width:100%;background:#fff;border-top:1px solid #e8e8e8;margin-top:auto;position:relative;padding-bottom:90px}.App-footer.no-ads{padding-bottom:0}.adsense-container{position:fixed;bottom:0;left:0;width:100%;height:90px;background:#fff;border-top:1px solid #e8e8e8;z-index:1000;display:none}.App-footer:not(.no-ads) .adsense-container{display:block}.footer-links{padding:20px 0;text-align:center;background:#fff}.footer-nav-links{margin-bottom:15px;display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}.footer-nav-links a{color:#666;text-decoration:none;font-size:14px;transition:color .2s}.footer-nav-links a:hover{color:#1890ff}.beian-info{padding:10px 0;text-align:center;font-size:14px;color:#666;background:#fff}.beian-info a{color:#666;text-decoration:none}.beian-info a:hover{color:#333}.Content{flex:1 1;display:flex;flex-direction:column;min-height:calc(100vh - 64px - 90px);overflow-y:auto}@media screen and (max-width:768px){.App-footer{padding:0 10px 90px}.App-footer.no-ads{padding:0 10px}}