#app[data-v-0dcf9a3f]{font-family:Helvetica Neue,Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}.navbar[data-v-0dcf9a3f]{background-color:#2c3e50;padding:0 20px;box-shadow:0 2px 4px #0000001a}.nav-content[data-v-0dcf9a3f]{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:60px}.logo a[data-v-0dcf9a3f]{color:#fff;font-size:20px;font-weight:700;text-decoration:none}.nav-links[data-v-0dcf9a3f]{display:flex;gap:20px}.nav-links a[data-v-0dcf9a3f]{color:#fff;text-decoration:none;padding:8px 12px;border-radius:4px;transition:background-color .3s}.nav-links a[data-v-0dcf9a3f]:hover{background-color:#ffffff1a}.main-content[data-v-0dcf9a3f]{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}.footer[data-v-0dcf9a3f]{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:20px 0;margin-top:40px}.footer-content[data-v-0dcf9a3f]{max-width:1200px;margin:0 auto;text-align:center;color:#6c757d;font-size:14px}.footer-content p[data-v-0dcf9a3f]{margin:5px 0}.beian-info[data-v-0dcf9a3f]{margin-top:10px}.beian-info a[data-v-0dcf9a3f]{color:#6c757d;text-decoration:none;font-size:13px}.beian-info a[data-v-0dcf9a3f]:hover{text-decoration:underline;color:#495057}@media(max-width:768px){.nav-content[data-v-0dcf9a3f]{flex-direction:column;height:auto;padding:15px 0}.nav-links[data-v-0dcf9a3f]{margin-top:15px;flex-wrap:wrap;justify-content:center}.main-content[data-v-0dcf9a3f]{padding:15px}.beian-info[data-v-0dcf9a3f]{display:flex;flex-direction:column;gap:8px}.beian-info span[data-v-0dcf9a3f]{display:none}}.site-footer[data-v-0dcf9a3f]{padding:20px 0;text-align:center;color:#666;font-size:13px;border-top:1px solid #eee;margin-top:60px;background:#fafafa}.footer-content[data-v-0dcf9a3f]{max-width:1200px;margin:0 auto;padding:0 20px}.copyright[data-v-0dcf9a3f]{margin-bottom:8px}.beian-info a[data-v-0dcf9a3f]{color:#666;text-decoration:none;transition:color .2s}.beian-info a[data-v-0dcf9a3f]:hover{color:#1890ff;text-decoration:underline}@media(max-width:768px){.site-footer[data-v-0dcf9a3f]{margin-top:40px;padding:15px 0;font-size:12px}}.home-view[data-v-9d1ac7c8]{max-width:1200px;margin:0 auto;padding:20px}.header[data-v-9d1ac7c8]{text-align:center;margin-bottom:40px;padding:30px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff}.header h1[data-v-9d1ac7c8]{margin:0;font-size:36px}.subtitle[data-v-9d1ac7c8]{margin-top:10px;font-size:18px;opacity:.9}.tech-section[data-v-9d1ac7c8]{background:#fff;border-radius:10px;padding:30px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px}.section-header[data-v-9d1ac7c8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-header h2[data-v-9d1ac7c8]{margin:0;color:#2c3e50}.stats[data-v-9d1ac7c8]{display:flex;gap:15px}.stat-item[data-v-9d1ac7c8]{padding:5px 10px;background:#f0f2f5;border-radius:4px;font-size:14px}.filters[data-v-9d1ac7c8]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.filters button[data-v-9d1ac7c8]{padding:8px 16px;border:1px solid #dcdfe6;background:#fff;border-radius:4px;cursor:pointer;transition:all .3s}.filters button[data-v-9d1ac7c8]:hover{border-color:#409eff}.filters button.active[data-v-9d1ac7c8]{background:#409eff;color:#fff;border-color:#409eff}.tech-grid[data-v-9d1ac7c8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.tech-card[data-v-9d1ac7c8]{border:1px solid #e4e7ed;border-radius:8px;padding:20px;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.tech-card[data-v-9d1ac7c8]:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.card-header[data-v-9d1ac7c8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-header h3[data-v-9d1ac7c8]{margin:0;font-size:20px;color:#303133}.category-tag[data-v-9d1ac7c8]{padding:4px 8px;background:#f0f2f5;border-radius:4px;font-size:12px;color:#606266}.card-body[data-v-9d1ac7c8]{flex:1}.tech-level[data-v-9d1ac7c8]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.label[data-v-9d1ac7c8]{color:#909399;font-size:14px}.stars[data-v-9d1ac7c8]{display:flex}.star[data-v-9d1ac7c8]{color:#dcdfe6;font-size:16px}.star.active[data-v-9d1ac7c8]{color:#f7ba2a}.level-number[data-v-9d1ac7c8]{color:#909399;font-size:14px}.tech-experience[data-v-9d1ac7c8]{margin-bottom:15px;color:#606266}.description[data-v-9d1ac7c8]{color:#606266;line-height:1.6;margin-bottom:15px}.tags[data-v-9d1ac7c8]{display:flex;flex-wrap:wrap;gap:5px}.tag[data-v-9d1ac7c8]{padding:3px 8px;background:#f0f2f5;border-radius:3px;font-size:12px;color:#606266}.card-footer[data-v-9d1ac7c8]{margin-top:15px;padding-top:15px;border-top:1px dashed #e4e7ed;color:#909399;font-size:13px}.empty[data-v-9d1ac7c8]{text-align:center;padding:40px;color:#909399}.about-section[data-v-9d1ac7c8]{background:#fff;border-radius:10px;padding:30px;text-align:center;box-shadow:0 4px 20px #0000001a}.about-section h3[data-v-9d1ac7c8]{margin:0 0 15px;color:#2c3e50}.about-section p[data-v-9d1ac7c8]{color:#606266;line-height:1.6;margin:10px 0}.tech-card.category-frontend[data-v-9d1ac7c8]{border-top:4px solid #409eff}.tech-card.category-backend[data-v-9d1ac7c8]{border-top:4px solid #67c23a}.tech-card.category-database[data-v-9d1ac7c8]{border-top:4px solid #e6a23c}.tech-card.category-devops[data-v-9d1ac7c8]{border-top:4px solid #f56c6c}@media(max-width:768px){.home-view[data-v-9d1ac7c8]{padding:15px}.header h1[data-v-9d1ac7c8]{font-size:28px}.tech-grid[data-v-9d1ac7c8]{grid-template-columns:1fr}.section-header[data-v-9d1ac7c8]{flex-direction:column;align-items:flex-start;gap:15px}}.auth-container[data-v-ee411037]{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f5f7fa;padding:20px}.auth-card[data-v-ee411037]{width:100%;max-width:400px;padding:30px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000d;text-align:center}.title[data-v-ee411037]{margin:0 0 10px;font-size:24px;color:#1d2129}.desc[data-v-ee411037]{margin:0 0 20px;color:#4e5969;font-size:14px}.status[data-v-ee411037]{padding:12px;border-radius:8px;font-size:14px;margin-top:20px}.status.info[data-v-ee411037]{background-color:#f0f7ff;color:#1890ff}.status.success[data-v-ee411037]{background-color:#f6ffed;color:#00b42a}.status.error[data-v-ee411037]{background-color:#fff1f0;color:#f53f3f}
