:root { /* Colors */ --main-bg: #0d0f14; --navbar-bg: #1c222d; --button-bg: #1c222d; --button-bg-alt: #12151a; --primary-accent: #42f8f5; --accent-shade: #3ff7f3; --primary-text: #ffffff; --secondary-text: #c5d1de; --button-border: #42f8f5; --glow-shadow: rgba(66, 248, 245, 0.6); --hover-button-bg: #42f8f5; --modal-bg: #1c222d; --card-bg: #12151a; --input-bg: #1c222d; /* Spacing */ --spacing-xs: 0.5rem; --spacing-sm: 1rem; --spacing-md: 1.5rem; --spacing-lg: 2rem; --spacing-xl: 3rem; /* Border radius */ --radius-sm: 5px; --radius-md: 8px; --radius-lg: 12px; /* Shadows */ --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1); --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.2); --glow: 0 0 10px var(--glow-shadow); --glow-hover: 0 0 15px var(--glow-shadow); /* Transitions */ --transition-fast: 0.2s; --transition-normal: 0.3s; --transition-slow: 0.5s; } /* Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { scroll-behavior: smooth; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(--main-bg); color: var(--primary-text); line-height: 1.6; overflow-x: hidden; } body::before { content: ''; position: fixed; top: 50%; left: 50%; width: 120vmax; height: 120vmax; -image: radial-gradient(circle at 20% 20%, var(--primary-accent), transparent 30%), radial-gradient(circle at 80% 70%, #8a2be2, transparent 30%); /* Added a second color for more depth */ opacity: 0.15; filter: blur(100px); animation: auroraGlow 25s linear infinite; z-index: -1; } a { text-decoration: none; color: var(--primary-text); } ul { list-style: none; } /* Typography */ h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; } h1 { font-size: 2.5rem; } h2 { font-size: 2rem; margin-bottom: var(--spacing-md); } p { color: var(--secondary-text); margin-bottom: var(--spacing-sm); } /* Buttons */ .btn { display: inline-block; padding: var(--spacing-xs) var(--spacing-md); background-color: var(--button-bg); color: var(--primary-text); border: 1px solid var(--button-border); border-radius: var(--radius-sm); font-weight: 600; cursor: pointer; transition: all var(--transition-normal); box-shadow: var(--shadow-sm); text-align: center; } .btn:hover { background-color: var(--hover-button-bg); color: var(--main-bg); box-shadow: var(--glow-hover); transform: translateY(-2px); } .btn:active { transform: scale(0.97); } .hero-btn { padding: var(--spacing-sm) var(--spacing-lg); font-size: 1.1rem; box-shadow: var(--glow); } /* Layout */ .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-md); } /* Navbar */ .navbar { position: fixed; top: 0; left: 0; right: 0; background-color: var(--navbar-bg); z-index: 1000; box-shadow: var(--shadow-md); } .navbar-container { display: flex; justify-content: space-between; align-items: center; padding: var(--spacing-sm) var(--spacing-md); max-width: 1200px; margin: 0 auto; } .logo { display: flex; align-items: center; gap: var(--spacing-sm); } .logo a { font-size: 2.0rem; font-weight: 700; color: var(--primary-text); text-decoration: none; transition: color 0.3s ease; text-shadow: 0 0 5px var(--glow-shadow); } .logo a span { color: var(--primary-accent); font-weight: 400; font-size: 1.4rem; } .logo-icon { font-size: 1.8rem; font-weight: 700; color: var(--primary-accent); } .nav-links { display: flex; gap: var(--spacing-md); } .nav-links a { padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--radius-sm); transition: all var(--transition-fast); position: relative; } .nav-links a:hover { color: var(--primary-accent); } .nav-links a::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 0; height: 2px; background-color: var(--primary-accent); transition: width var(--transition-fast); } .nav-links a:hover::after { width: 70%; } .hamburger { display: none; cursor: pointer; flex-direction: column; justify-content: space-between; width: 24px; height: 18px; } .hamburger .line { width: 100%; height: 2px; background-color: var(--primary-text); transition: all var(--transition-normal); } /* Mobile Menu */ .mobile-menu { position: fixed; top: 60px; left: 0; right: 0; background-color: var(--navbar-bg); padding: var(--spacing-md); box-shadow: var(--shadow-md); z-index: 999; transform: translateY(-150%); transition: transform var(--transition-normal); border-top: 1px solid var(--button-border); } .mobile-menu.active { transform: translateY(0); } .mobile-menu ul { display: flex; flex-direction: column; gap: var(--spacing-sm); } .mobile-menu a { display: block; padding: var(--spacing-xs) 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); transition: color var(--transition-fast); } .mobile-menu a:hover { color: var(--primary-accent); } /* Hero Section */ .hero { position: relative; padding: var(--spacing-xl) var(--spacing-md); text-align: center; overflow: hidden; margin-top: 60px; } .hero-content { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; } .hero h2 { font-size: 2.5rem; margin-bottom: var(--spacing-md); background: linear-gradient(90deg, var(--primary-text), var(--primary-accent)); -webkit-background-clip: text; background-clip: text; color: transparent; animation: 1s ease; } .hero p { font-size: 1.2rem; margin-bottom: var(--spacing-lg); animation: fadeInUp 1s ease 0.2s forwards; opacity: 0; } .hero-btn { animation: fadeInUp 1s ease 0.4s forwards; opacity: 0; } .hero-title { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; margin-bottom: 1rem; text-shadow: 0 0 20px var(--glow-shadow); animation: fadeInUp 0.8s ease-out; } .hero-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; overflow: hidden; } .glow-circle { position: absolute; border-radius: 50%; filter: blur(60px); opacity: 0.3; } .glow-circle:nth-child(1) { width: 300px; height: 300px; background-color: var(--primary-accent); top: -100px; left: -100px; animation: float 15s infinite ease-in-out; } .glow-circle:nth-child(2) { width: 400px; height: 400px; background-color: #f542b3; bottom: -150px; right: -100px; animation: float 18s infinite ease-in-out reverse; } .glow-circle:nth-child(3) { width: 200px; height: 200px; background-color: #4287f5; top: 50%; left: 30%; animation: float 12s infinite ease-in-out 2s; } /* Sections */ .section-title { text-align: center; margin-bottom: var(--spacing-lg); position: relative; font-size: 2.8rem; font-weight: 700; margin-bottom: 3rem; padding-bottom: var(--spacing-sm); text-shadow: 0 0 15px var(--glow-shadow); } .section-title::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: linear-gradient(90deg, transparent, var(--primary-accent), transparent); } .tools-section, .about-section, .contact-section { padding: var(--spacing-xl) var(--spacing-md); } /* Tools Grid */ .tools-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--spacing-md); margin-top: var(--spacing-lg); } .tool-card { background-color: var(--card-bg); border-radius: var(--radius-md); padding: var(--spacing-md); transition: all var(--transition-normal); border: 1px solid rgba(66, 248, 245, 0.1); cursor: pointer; position: relative; overflow: hidden; flex-direction: column; justify-content: space-between; transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease; transform-style: preserve-3d; opacity: 0; /* For scroll animation */ transform: translateY(20px); } .tool-card.visible { animation: fadeInUp 0.6s ease-out forwards; } .tool-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, var(--primary-accent), transparent); opacity: 0; transition: opacity var(--transition-fast); } .tool-card:hover { transform: translateY(-5px); box-shadow: var(--glow); border-color: rgba(66, 248, 245, 0.3); } .tool-card:hover::before { opacity: 1; } .tool-card h3 { margin-bottom: var(--spacing-xs); color: var(--primary-text); } .tool-card p { font-size: 0.9rem; margin-bottom: var(--spacing-sm); } .tool-card .btn { width: 100%; margin-top: var(--spacing-sm); } .tool-card.visible { animation: fadeInUp 0.6s ease-out forwards; } /* About Section */ .about-content { max-width: 800px; margin: 0 auto; text-align: center; } /* Contact Section */ .contact-content { max-width: 600px; margin: 0 auto; text-align: center; } .contact-form { margin-top: var(--spacing-lg); text-align: left; } .form-group { margin-bottom: var(--spacing-md); } .form-group input, .form-group textarea { width: 100%; padding: var(--spacing-sm); background-color: var(--input-bg); border: 1px solid rgba(66, 248, 245, 0.2); border-radius: var(--radius-sm); color: var(--primary-text); transition: all var(--transition-fast); } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: var(--primary-accent); box-shadow: var(--glow); } .form-group textarea { min-height: 150px; resize: vertical; } /* Modal */ .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 1001; display: none; opacity: 0; transition: opacity var(--transition-normal); } .modal-overlay.active { display: block; opacity: 1; } .modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); background-color: var(--modal-bg); border-radius: var(--radius-md); padding: var(--spacing-md); z-index: 1002; max-width: 90%; width: 600px; max-height: 90vh; overflow-y: auto; opacity: 0; visibility: hidden; transition: all var(--transition-normal); border: 1px solid rgba(66, 248, 245, 0.2); box-shadow: var(--glow); } #modal:not(.hidden) { opacity: 1; visibility: visible; } .modal.active { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); } .modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-md); padding-bottom: var(--spacing-sm); border-bottom: 1px solid rgba(66, 248, 245, 0.1); } .modal-title { margin: 0; color: var(--primary-accent); } .close-modal { background: none; border: none; color: var(--primary-text); font-size: 1.5rem; cursor: pointer; transition: color var(--transition-fast); } .close-modal:hover { color: var(--primary-accent); } .modal-content { margin-bottom: var(--spacing-md); } .modal-footer { display: flex; justify-content: flex-end; gap: var(--spacing-sm); padding-top: var(--spacing-md); border-top: 1px solid rgba(66, 248, 245, 0.1); } /* Tool-specific styles */ .tool-input-group { margin-bottom: var(--spacing-md); } .tool-input-group label { display: block; margin-bottom: var(--spacing-xs); color: var(--secondary-text); } .tool-input-group input, .tool-input-group select, .tool-input-group textarea { width: 100%; padding: var(--spacing-sm); background-color: var(--input-bg); border: 1px solid rgba(66, 248, 245, 0.2); border-radius: var(--radius-sm); color: var(--primary-text); transition: all var(--transition-fast); } .tool-input-group input:focus, .tool-input-group select:focus, .tool-input-group textarea:focus { outline: none; border-color: var(--primary-accent); box-shadow: var(--glow); } .tool-result { margin-top: var(--spacing-md); padding: var(--spacing-md); background-color: rgba(66, 248, 245, 0.05); border-radius: var(--radius-sm); border: 1px dashed rgba(66, 248, 245, 0.3); word-break: break-all; } .file-drop-area { border: 2px dashed rgba(66, 248, 245, 0.3); border-radius: var(--radius-md); padding: var(--spacing-lg); text-align: center; transition: all var(--transition-normal); margin-bottom: var(--spacing-md); cursor: pointer; } .file-drop-area:hover { border-color: var(--primary-accent); background-color: rgba(66, 248, 245, 0.05); } .file-drop-area.active { border-color: var(--primary-accent); background-color: rgba(66, 248, 245, 0.1); } .file-msg { margin-top: var(--spacing-sm); color: var(--secondary-text); } .file-input { display: none; } .preview-container { margin-top: var(--spacing-md); text-align: center; } .preview-image { max-width: 100%; max-height: 300px; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); } .range-slider { width: 100%; margin: var(--spacing-md) 0; } .range-slider input[type="range"] ::-webkit-slider-thumb{ width: 100%; height: 8px; -webkit-appearance: none; background: var(--input-bg); border-radius: var(--radius-sm); outline: none; cursor: pointer; } /* Webkit (Chrome, Safari) */ .range-slider input[type="range"]::-webkit-slider-runnable-track { height: 8px; background: var(--input-bg); border-radius: var(--radius-sm); } .range-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 16px; height: 16px; background: var(--primary-color, #007bff); border-radius: 50%; margin-top: -4px; /* Align with track */ cursor: pointer; } /* Firefox */ .range-slider input[type="range"]::-moz-range-track { height: 8px; background: var(--input-bg); border-radius: var(--radius-sm); } .range-slider input[type="range"]::-moz-range-thumb { width: 16px; height: 16px; background: var(--primary-color, #007bff); border-radius: 50%; cursor: pointer; } /* Edge / IE */ .range-slider input[type="range"]::-ms-track { height: 8px; background: transparent; border-color: transparent; color: transparent; } .range-slider input[type="range"]::-ms-fill-lower { background: var(--input-bg); border-radius: var(--radius-sm); } .range-slider input[type="range"]::-ms-fill-upper { background: var(--input-bg); border-radius: var(--radius-sm); } .range-slider input[type="range"]::-ms-thumb { width: 16px; height: 16px; background: var(--primary-color, #007bff); border-radius: 50%; cursor: pointer; } .range-value { text-align: center; margin-top: var(--spacing-xs); font-weight: bold; color: var(--primary-accent); } /* Footer */ .footer { background-color: var(--navbar-bg); padding: var(--spacing-xl) var(--spacing-md) var(--spacing-md); border-top: 1px solid rgba(66, 248, 245, 0.1); } .footer-content { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-lg); } .footer-logo { display: flex; align-items: center; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); } .footer-logo h3 { font-size: 1.2rem; } .footer-links { display: flex; flex-direction: column; gap: var(--spacing-xs); } .footer-links a { transition: color var(--transition-fast); } .footer-links a:hover { color: var(--primary-accent); } .footer-social { display: flex; gap: var(--spacing-md); } .footer-social a { font-size: 1.2rem; transition: color var(--transition-fast); } .footer-social a:hover { color: var(--primary-accent); } .footer-bottom { text-align: center; margin-top: var(--spacing-xl); padding-top: var(--spacing-md); border-top: 1px solid rgba(66, 248, 245, 0.1); color: var(--secondary-text); font-size: 0.9rem; } /* --- ANIMATIONS --- */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-20px); } } @keyframes auroraGlow { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } } @keyframes buttonShine { from { transform: translateX(-100%) skewX(-20deg); } to { transform: translateX(200%) skewX(-20deg); } } /* Responsive */ @media (max-width: 992px) { .tools-grid { grid-template-columns: repeat(2, 1fr); } h1 { font-size: 2rem; } h2 { font-size: 1.8rem; } } @media (max-width: 768px) { .nav-links { display: none; } .hamburger { display: flex; } .hero h2 { font-size: 2rem; } .hero p { font-size: 1rem; } .footer-content { grid-template-columns: 1fr; text-align: center; } .footer-logo { justify-content: center; } .footer-links { align-items: center; } .footer-social { justify-content: center; } } @media (max-width: 576px) { .tools-grid { grid-template-columns: 1fr; } .hero h2 { font-size: 1.8rem; } .modal { width: 95%; padding: var(--spacing-sm); } } #particle-canvas { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; } .search-container { text-align: center; margin-bottom: 2rem; } #tool-search { padding: 0.8rem 1.2rem; width: 100%; max-width: 400px; font-size: 1rem; border-radius: 8px; border: 1px solid var(--border-color); background-color: var(--main-bg); color: var(--primary-text); box-shadow: 0 0 10px rgba(66, 248, 245, 0.15); transition: border-color 0.3s ease, box-shadow 0.3s ease; } #tool-search:focus { outline: none; border-color: var(--primary-accent); box-shadow: 0 0 15px var(--glow-shadow); } .contact-section { padding-top: 100px; /* Adjust if your navbar height is different */ } .tools-section { padding-top: 100px; /* Adjust if your navbar height is different */ } #home { padding-top: 100px; /* Match your navbar height */ margin-top: -100px; /* Pull section up so scroll lands correctly */ } .about-section { padding-top: 100px; /* Adjust if your navbar height is different */ } .about-section { padding: 6rem 2rem; background: linear-gradient(to right, rgba(20, 20, 30, 0.9), rgba(10, 10, 20, 0.9)); color: #fff; position: relative; z-index: 1; backdrop-filter: blur(6px); } .about-section::before { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); z-index: -1; } .about-container { max-width: 1200px; margin: auto; } .section-title { font-size: 2.8rem; font-weight: 700; color: #00f7ff; margin-bottom: 2rem; text-align: center; } .section-title span { color: #0ff; } .about-text p { font-size: 1.2rem; line-height: 1.9; color: #ddd; margin-bottom: 1.5rem; } .about-cta { font-size: 1.3rem; font-weight: 600; color: #00ffff; text-align: center; margin-top: 2rem; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin: 3rem 0; } .feature { background: rgba(255, 255, 255, 0.05); padding: 1.8rem; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.08); box-shadow: 0 10px 24px rgba(0, 255, 255, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; text-align: center; } .feature:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(0, 255, 255, 0.15); } .feature i { font-size: 2rem; color: #0ff; margin-bottom: 1rem; } .feature h4 { font-size: 1.3rem; color: #00f7ff; margin-bottom: 0.5rem; } .feature p { font-size: 1rem; color: #ccc; line-height: 1.6; } .home-section { padding: 6rem 2rem; text-align: center; color: #fff; } .home-content { max-width: 800px; margin: 0 auto; } .home-subtext { font-size: 1.2rem; color: #ccc; margin: 1rem 0 2rem; } .button-wrapper { display: flex; justify-content: center; } .more-about-btn { background: #00f7ff; color: #000; padding: 0.75rem 1.5rem; border-radius: 50px; font-weight: 600; text-decoration: none; transition: background 0.3s ease; text-align: center; } .more-about-btn:hover { background: #0ff; } .contact-section { padding: 4rem 2rem; background: rgba(255, 255, 255, 0.02); backdrop-filter: blur(10px); border-radius: 20px; max-width: 800px; margin: 4rem auto; box-shadow: 0 0 20px rgba(0, 255, 255, 0.1); text-align: center; } .contact-section .section-title { font-size: 2.5rem; font-weight: 700; color: #00f7ff; margin-bottom: 0.5rem; } .contact-section .section-subtitle { font-size: 1.1rem; color: #ccc; margin-bottom: 2rem; } .contact-form { display: flex; flex-direction: column; gap: 1.2rem; } .form-group input, .form-group textarea { width: 100%; padding: 1rem; border-radius: 12px; border: none; background: rgba(255, 255, 255, 0.05); color: #fff; font-size: 1rem; outline: none; box-shadow: inset 0 0 5px rgba(0, 255, 255, 0.2); } .form-group textarea { min-height: 120px; resize: none; } .btn-contact { padding: 0.8rem 2rem; font-size: 1.1rem; color: #000; background: linear-gradient(135deg, #00f7ff, #3ff3ff); border: none; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; font-weight: 600; } .btn-contact:hover { background: linear-gradient(135deg, #3ff3ff, #00f7ff); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 255, 255, 0.4); } #no-results { text-align: center; color: var(--secondary-text); font-size: 1.1rem; margin-top: 1rem; transition: opacity 0.3s ease; } .hidden { display: none !important; }