.geek-footer[data-v-597fba19]{background:#fff;border-top:1px solid #e5e7eb;padding:1.5rem 0;margin-top:auto}.footer-inner[data-v-597fba19]{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.footer-top[data-v-597fba19]{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono)}.footer-separator[data-v-597fba19]{color:#2563eb}.footer-text[data-v-597fba19]{color:#1f2937;font-weight:600}.footer-year[data-v-597fba19]{color:#6b7280;font-size:.9rem}.footer-links[data-v-597fba19]{display:flex;gap:1.5rem}.footer-link[data-v-597fba19]{display:flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.8rem;color:#6b7280;transition:color .2s ease}.footer-link[data-v-597fba19]:hover{color:#2563eb}.link-icon[data-v-597fba19]{font-size:.9rem}.footer-legal[data-v-597fba19]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.legal-link[data-v-597fba19]{font-size:.75rem;color:#9ca3af;transition:color .2s ease}.legal-link[data-v-597fba19]:hover{color:#6b7280}.legal-divider[data-v-597fba19]{color:#e5e7eb}.powered-text[data-v-597fba19]{color:#9ca3af}.powered-tech[data-v-597fba19]{color:#2563eb}.powered-plus[data-v-597fba19]{color:#9ca3af}.back-to-top[data-v-597fba19]{position:fixed;bottom:2rem;right:2rem;width:40px;height:40px;background:#fffffff2;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-family:var(--font-mono);font-size:1.25rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000014}.back-to-top[data-v-597fba19]:hover{color:#2563eb;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb26}@media(max-width:640px){.footer-links[data-v-597fba19]{gap:1rem}.back-to-top[data-v-597fba19]{bottom:1rem;right:1rem;width:36px;height:36px}}.geek-header[data-v-7627e106]{position:sticky;top:0;z-index:100;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e7eb}.header-inner[data-v-7627e106]{max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.logo-section[data-v-7627e106]{display:flex;align-items:center;gap:.5rem}.logo-bracket[data-v-7627e106]{color:#2563eb;font-family:var(--font-mono);font-size:1.25rem;font-weight:600}.logo-img[data-v-7627e106]{height:32px;width:32px;border-radius:4px}.logo-text[data-v-7627e106]{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:#1f2937;transition:color .2s ease}.logo-text[data-v-7627e106]:hover{color:#2563eb}.nav-links[data-v-7627e106]{display:flex;align-items:center;gap:.25rem}.nav-link[data-v-7627e106]{font-family:var(--font-mono);font-size:.85rem;color:#6b7280;padding:.5rem .75rem;border-radius:6px;transition:all .2s ease;position:relative}.nav-prefix[data-v-7627e106]{color:#9ca3af;margin-right:.25rem}.nav-link[data-v-7627e106]:hover{color:#2563eb;background:#2563eb14}.nav-link:hover .nav-prefix[data-v-7627e106]{color:#2563eb}.mobile-menu-btn[data-v-7627e106]{display:none;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:.5rem;cursor:pointer}.menu-icon[data-v-7627e106]{display:flex;flex-direction:column;gap:4px;width:20px}.menu-icon span[data-v-7627e106]{display:block;height:2px;background:#6b7280;border-radius:1px;transition:all .3s ease}.menu-icon.open span[data-v-7627e106]:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.menu-icon.open span[data-v-7627e106]:nth-child(2){opacity:0}.menu-icon.open span[data-v-7627e106]:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}.mobile-nav[data-v-7627e106]{display:none;flex-direction:column;padding:.5rem 1.5rem 1rem;background:#fffffffa;border-bottom:1px solid #e5e7eb}.mobile-nav.open[data-v-7627e106]{display:flex}.mobile-nav-link[data-v-7627e106]{font-family:var(--font-mono);font-size:.9rem;color:#6b7280;padding:.75rem 0;border-bottom:1px solid #f3f4f6;transition:color .2s ease}.mobile-nav-link[data-v-7627e106]:last-child{border-bottom:none}.mobile-nav-link[data-v-7627e106]:hover{color:#2563eb}@media(max-width:768px){.nav-links[data-v-7627e106]{display:none}.mobile-menu-btn[data-v-7627e106]{display:flex;align-items:center;justify-content:center}}.app-wrapper[data-v-abc4717b]{min-height:100vh;display:flex;flex-direction:column;background-color:#fff}.main-content[data-v-abc4717b]{flex:1;width:100%}[data-v-abc4717b] .el-card{background-color:#fff;border-color:#e5e7eb}[data-v-abc4717b] .el-card__header{border-color:#e5e7eb}[data-v-abc4717b] .el-tag{background-color:#f3f4f6;border-color:#e5e7eb;color:#4b5563}[data-v-abc4717b] .el-divider{border-color:#e5e7eb}[data-v-abc4717b] .el-link{color:#2563eb}[data-v-abc4717b] .el-link:hover{color:#1d4ed8}.timeline-item[data-v-a8199018]{display:flex;gap:1.5rem;padding:1.25rem 0;position:relative;cursor:default;transition:all .2s ease}.timeline-item.active[data-v-a8199018]:hover{cursor:pointer}.timeline-item.active:hover .marker-dot[data-v-a8199018]{box-shadow:0 0 0 4px #2563eb26}.timeline-item.active:hover .project-title[data-v-a8199018]{color:#2563eb}.timeline-marker[data-v-a8199018]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px}.marker-dot[data-v-a8199018]{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #d1d5db;flex-shrink:0;transition:all .2s ease}.marker-line[data-v-a8199018]{width:2px;flex:1;background:linear-gradient(180deg,#e5e7eb 0%,transparent 100%);margin-top:4px}.timeline-item:last-child .marker-line[data-v-a8199018]{display:none}.timeline-item.new .marker-dot[data-v-a8199018]{background:#059669;border-color:#059669;box-shadow:0 0 8px #0596694d}.timeline-item.active .marker-dot[data-v-a8199018]{background:#fff;border-color:#2563eb}.timeline-item.archived .marker-dot[data-v-a8199018]{background:#fff;border-color:#d1d5db}.timeline-content[data-v-a8199018]{flex:1;min-width:0;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.timeline-item:last-child .timeline-content[data-v-a8199018]{border-bottom:none}.content-header[data-v-a8199018]{margin-bottom:.5rem}.title-row[data-v-a8199018]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.status-badge[data-v-a8199018]{font-size:.65rem;font-family:JetBrains Mono,Fira Code,monospace;padding:.15rem .5rem;border-radius:4px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.status-badge.new[data-v-a8199018]{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-badge.active[data-v-a8199018]{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-badge.archived[data-v-a8199018]{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.project-title[data-v-a8199018]{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0;transition:color .2s ease}.link-icon[data-v-a8199018]{color:#9ca3af;font-size:1.2rem;transition:color .2s ease}.timeline-item.active:hover .link-icon[data-v-a8199018]{color:#2563eb}.time-info[data-v-a8199018]{font-size:.8rem;color:#6b7280;margin-top:.25rem;font-family:JetBrains Mono,Fira Code,monospace}.stop-info[data-v-a8199018]{color:#dc2626}.content-body[data-v-a8199018]{color:#4b5563;font-size:.9rem;line-height:1.6;margin-bottom:.75rem}.content-body[data-v-a8199018] p{margin:0 0 .5rem}.content-body[data-v-a8199018] p:last-child{margin-bottom:0}.content-body[data-v-a8199018] a{color:#2563eb;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.content-body[data-v-a8199018] a:hover{border-bottom-color:#2563eb}.content-body[data-v-a8199018] strong{color:#1f2937}.content-body[data-v-a8199018] small{color:#6b7280}.author-info[data-v-a8199018]{font-size:.8rem;color:#6b7280;margin-bottom:.5rem}.author-label[data-v-a8199018]{color:#9ca3af;margin-right:.5rem}.tech-tags[data-v-a8199018]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.tech-tag[data-v-a8199018]{font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;padding:.2rem .6rem;background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb;border-radius:4px;transition:all .2s ease}.timeline-item.active:hover .tech-tag[data-v-a8199018]{border-color:#d1d5db;color:#374151}.timeline-item.new .tech-tag[data-v-a8199018]{border-color:#bbf7d0;color:#166534;background:#f0fdf4}@media(max-width:640px){.timeline-item[data-v-a8199018]{gap:1rem}.timeline-marker[data-v-a8199018]{width:12px}.marker-dot[data-v-a8199018]{width:10px;height:10px}.project-title[data-v-a8199018]{font-size:1rem}.title-row[data-v-a8199018]{gap:.5rem}}.timeline-container[data-v-6e19fa1c]{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.timeline-header[data-v-6e19fa1c]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e1e4e8;flex-wrap:wrap}.header-icon[data-v-6e19fa1c]{color:#2563eb;font-family:JetBrains Mono,Fira Code,monospace;font-size:1.2rem}.timeline-header h2[data-v-6e19fa1c]{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0;font-family:JetBrains Mono,Fira Code,monospace}.header-stats[data-v-6e19fa1c]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#6b7280;font-family:var(--font-mono)}.stat-divider[data-v-6e19fa1c]{color:#d1d5db}.stat-item[data-v-6e19fa1c]{padding:.1rem .4rem;border-radius:4px}.stat-item.active[data-v-6e19fa1c]{background:#dcfce7;color:#166534}.stat-item.archived[data-v-6e19fa1c]{background:#fef3c7;color:#92400e}.filter-toggle[data-v-6e19fa1c]{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:auto}.filter-toggle input[data-v-6e19fa1c]{display:none}.toggle-slider[data-v-6e19fa1c]{position:relative;width:36px;height:20px;background:#d1d5db;border-radius:10px;transition:background .2s ease}.toggle-slider[data-v-6e19fa1c]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000001a}.filter-toggle input:checked+.toggle-slider[data-v-6e19fa1c]{background:#2563eb}.filter-toggle input:checked+.toggle-slider[data-v-6e19fa1c]:after{transform:translate(16px)}.toggle-label[data-v-6e19fa1c]{font-size:.8rem;color:#6b7280;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.timeline-list[data-v-6e19fa1c]{padding-left:.5rem}@media(max-width:640px){.timeline-container[data-v-6e19fa1c]{padding:1.5rem 1rem}.timeline-header[data-v-6e19fa1c]{gap:.5rem}.header-stats[data-v-6e19fa1c]{order:3;width:100%}.filter-toggle[data-v-6e19fa1c]{margin-left:0;order:2}}
