.tools-header{flex-direction:column;gap:1.5rem;max-width:800px;margin-bottom:3rem;display:flex}.header-title{text-transform:uppercase;font-size:clamp(3rem,6vw,5rem);line-height:1}.header-desc{color:var(--text-secondary);font-size:1.15rem;line-height:1.6}.tabs-header{border-bottom:1px solid #ffffff0d;gap:1.5rem;margin-bottom:4rem;padding-bottom:1rem;display:flex}.tab-trigger{font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:1.1rem;font-weight:700;transition:color .2s,background-color .2s;display:flex}.tab-trigger:hover{color:var(--text-primary)}.tab-trigger.active{color:var(--accent-primary);background-color:#d4ff3f0a}.tab-trigger .num{opacity:.5;font-size:.9rem}.tab-panel{display:none}.tab-panel.active{animation:.4s forwards tabFadeIn;display:block}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tools-page-grid{grid-template-columns:280px 1fr;align-items:start;gap:4rem;display:grid}.tools-sidebar{position:relative}.sidebar-sticky{position:sticky;top:8rem}.category-box{background-color:var(--bg-secondary);border:1px solid #ffffff08;border-radius:8px;padding:1.5rem}.terminal-cmd{color:var(--text-secondary);border-bottom:1px solid #ffffff0d;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.8rem}.category-list{flex-direction:column;gap:.85rem;list-style:none;display:flex}.category-btn{color:var(--text-secondary);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;width:100%;font-size:.9rem;transition:color .2s;display:flex}.category-btn:hover{color:var(--text-primary)}.category-btn.active{color:var(--accent-primary)}.tree-line{opacity:.3;margin-right:.5rem}.btn-indicator{margin-right:.5rem;font-weight:700}.btn-name{flex-grow:1}.btn-count{opacity:.5;margin-left:.5rem;font-size:.8rem}.tools-list-container{width:100%}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2rem;display:grid}.card{flex-direction:column;justify-content:space-between;min-height:280px;display:flex}.card-header{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.card-num{color:var(--accent-primary);font-size:.85rem}.card-category{color:var(--text-secondary);letter-spacing:.05em;font-size:.75rem}.card-name{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;font-size:1.4rem;font-weight:800;line-height:1.2}.card-desc{color:var(--text-secondary);margin-top:.75rem;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.card-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.card-tag{color:var(--accent-secondary);background-color:#ffffff05;border:1px solid #ffffff05;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.card-action{border-top:1px dashed #ffffff0d;padding-top:1.25rem}.action-btn{color:var(--text-primary);font-size:.85rem;text-decoration:none;transition:color .2s;display:inline-block}.action-btn:hover{color:var(--accent-primary)}.no-results-message{text-align:center;color:var(--text-secondary);border:1px dashed #ffffff0d;border-radius:8px;padding:4rem 2rem}.roadmaps-layout{flex-direction:column;gap:3rem;display:flex}.roadmap-selector{border-bottom:1px solid #ffffff08;flex-wrap:wrap;gap:1rem;padding-bottom:1.5rem;display:flex}.roadmap-selector-btn{background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;border:1px solid #ffffff08;border-radius:4px;padding:.5rem 1.25rem;font-size:.85rem;transition:color .2s,border-color .2s,background-color .2s}.roadmap-selector-btn:hover{color:var(--text-primary);border-color:#ffffff1a}.roadmap-selector-btn.active{color:var(--accent-primary);background-color:#d4ff3f05;border-color:#d4ff3f26}.roadmap-timeline-wrapper{display:none}.roadmap-timeline-wrapper.active{animation:.4s forwards tabFadeIn;display:block}.roadmap-info-header{max-width:800px;margin-bottom:3.5rem}.roadmap-title{color:var(--accent-primary);margin-bottom:.75rem;font-size:1.4rem}.roadmap-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.5}.timeline{border-left:2px solid #ffffff08;flex-direction:column;gap:4rem;margin-left:1.5rem;padding-left:3rem;display:flex;position:relative}.timeline-node{position:relative}.timeline-dot{background-color:var(--bg-primary);border:2px solid var(--text-secondary);z-index:2;border-radius:50%;width:14px;height:14px;transition:border-color .3s,background-color .3s;position:absolute;top:.25rem;left:calc(-3rem - 8px)}.timeline-node:hover .timeline-dot{border-color:var(--accent-primary);background-color:var(--accent-primary)}.timeline-step{color:var(--accent-primary);margin-bottom:.5rem;font-size:.8rem;font-weight:700}.timeline-node-title{font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;font-size:1.6rem;font-weight:800;line-height:1.2}.timeline-desc{color:var(--text-secondary);max-width:850px;margin-top:.75rem;font-size:1rem;line-height:1.6}.timeline-meta{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.meta-list{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.meta-label{color:var(--text-secondary);opacity:.6;width:80px;font-size:.75rem}.meta-badge{color:var(--text-primary);background-color:#ffffff05;border:1px solid #ffffff08;border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.meta-badge.highlight-badge{color:var(--accent-secondary);border-color:#d4ff3f08}.animate-fade-in{animation:.4s forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.mobile-filter-btn{z-index:90;background-color:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:700;transition:border-color .3s,background-color .3s;display:none;position:fixed;top:5.5rem;right:1.5rem;box-shadow:0 10px 30px -10px #00000080}.mobile-filter-btn:hover{border-color:var(--accent-primary);background-color:#ffffff05}.filter-modal{z-index:1000;justify-content:center;align-items:center;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.filter-modal.active{display:flex}.filter-modal-backdrop{backdrop-filter:blur(8px);background-color:#0d0d0ccc;width:100%;height:100%;position:absolute;top:0;left:0}.filter-modal-content{z-index:1001;background-color:var(--bg-secondary);width:90%;max-width:360px;animation:modalScaleIn .3s var(--ease-out-expo) forwards;border:1px solid #ffffff14;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #000c}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.filter-modal-header{background-color:hsl(var(--bg-primary-hsl), .5);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{color:var(--accent-primary);letter-spacing:.05em;font-size:.75rem}.close-modal-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:700;transition:color .2s}.close-modal-btn:hover{color:var(--accent-secondary)}.filter-modal-body{padding:1.5rem}.modal-category-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.modal-category-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.4rem 0;font-size:.9rem;font-weight:700;transition:color .2s;display:flex}.modal-category-btn:hover,.modal-category-btn.active{color:var(--text-primary)}.modal-category-btn.active .btn-indicator{color:var(--accent-primary)}.modal-category-btn .btn-indicator{color:var(--text-secondary);transition:color .2s}@media (width<=900px){.mobile-filter-btn{display:flex}.tools-sidebar{display:none}.tools-page-grid{grid-template-columns:1fr;gap:3rem}.sidebar-sticky{position:static}.tools-grid{grid-template-columns:1fr}.timeline{margin-left:.5rem;padding-left:2rem}.timeline-dot{left:calc(-2rem - 8px)}.tabs-header{gap:1rem;margin-bottom:3rem}.tab-trigger{padding:.4rem .75rem;font-size:1rem}}@media (width<=768px){.tools-header{margin-bottom:2rem}.header-title{font-size:clamp(2.5rem,8vw,4rem)}.tabs-header{gap:.75rem;margin-bottom:2.5rem;padding-bottom:.75rem}.tab-trigger{padding:.35rem .6rem;font-size:.9rem}.tab-trigger .num{font-size:.8rem}.card{min-height:240px}.card-name{font-size:1.25rem}.card-desc{margin-top:.5rem;margin-bottom:1rem;font-size:.9rem}.card-tag{font-size:.7rem}.roadmap-selector{gap:.75rem;margin-bottom:2rem;padding-bottom:1rem}.roadmap-selector-btn{padding:.4rem 1rem;font-size:.8rem}.timeline-node-title{font-size:1.4rem}.timeline-desc{font-size:.95rem}}@media (width<=480px){.header-title{font-size:clamp(2rem,10vw,3rem)}.header-desc{font-size:1rem}.tabs-header{gap:.5rem;margin-bottom:2rem;padding-bottom:.5rem}.tab-trigger{gap:.35rem;padding:.3rem .5rem;font-size:.85rem}.tab-trigger .num{font-size:.75rem}.card{min-height:220px}.card-header{margin-bottom:1rem;padding-bottom:.6rem}.card-num{font-size:.75rem}.card-category{font-size:.65rem}.card-name{font-size:1.1rem}.card-desc{font-size:.85rem;line-height:1.4}.card-tags{gap:.35rem;margin-bottom:1.5rem}.card-tag{padding:.15rem .4rem;font-size:.65rem}.action-btn{font-size:.8rem}.roadmap-selector{gap:.5rem}.roadmap-selector-btn{border-radius:3px;padding:.35rem .85rem;font-size:.75rem}.timeline{gap:3rem;margin-left:.25rem;padding-left:1.5rem}.timeline-dot{width:12px;height:12px;left:calc(-1.5rem - 7px)}.timeline-step{font-size:.75rem}.timeline-node-title{font-size:1.25rem}.timeline-desc{font-size:.9rem}.meta-label{width:70px;font-size:.7rem}.meta-badge{padding:.1rem .4rem;font-size:.7rem}}
