/* ===== Midnight Breeze Theme CSS ===== */ :root { /* Midnight Breeze color palette */ --midnight-darkest: #172B3C; --midnight-dark: rgb(38, 38, 38); --midnight-blue: rgb(70, 130, 180); --midnight-gray: rgb(85, 85, 85); --midnight-accent: rgb(76, 185, 84); --midnight-text: #F0EEE6; --midnight-text-secondary: rgba(240, 238, 230, 0.8); /* Derived colors */ --midnight-gradient: linear-gradient(var(--gradient-secondary), #172B3C, #4682B4); --midnight-shadow: 0 10px 30px rgba(23, 43, 60, 0.4); --midnight-button-hover: rgb(96, 205, 104); /* Dark mode variants - already dark by default */ --midnight-dark-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); } @media(prefers-color-scheme: light) { :root { /* Light mode colors */ --midnight-darkest: #F0EEE6; --midnight-dark: #F0EEE6; --midnight-blue: #4682B4; --midnight-gray: #D3D3D3; --midnight-accent: #4CB954; --midnight-text: #172B3C; --midnight-text-secondary: rgba(23, 43, 60, 0.8); /* Derived colors */ --midnight-gradient: linear-gradient(var(--gradient-secondary), #F0EEE6, #4682B4); --midnight-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); --midnight-button-hover: #60CD68; /* Light mode variants */ --midnight-dark-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); } } @media(prefers-color-scheme: dark) { :root { /* Dark mode colors */ --midnight-darkest: #172B3C; --midnight-dark: rgb(38, 38, 38); --midnight-blue: rgb(70, 130, 180); --midnight-gray: rgb(85, 85, 85); --midnight-accent: rgb(76, 185, 84); --midnight-text: #F0EEE6; --midnight-text-secondary: rgba(240, 238, 230, 0.8); /* Derived colors */ --midnight-gradient: linear-gradient(var(--gradient-secondary), #172B3C, #4682B4); --midnight-shadow: 0 10px 30px rgba(23, 43, 60, 0.4); --midnight-button-hover: rgb(96, 205, 104); /* Dark mode variants */ --midnight-dark-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); } } /* ===== Hero Section ===== */ .midnight-hero { position: relative; background: var(--midnight-gradient); padding: calc(var(--header-height) + var(--sp-12)) var(--sp-6) var(--sp-16); margin-bottom: var(--sp-16); overflow: hidden; border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg); box-shadow: var(--midnight-shadow); } /* Star field animation */ .star-field { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; } .star { position: absolute; width: 2px; height: 2px; background-color: white; border-radius: 50%; opacity: 0; animation: star-twinkle 5s infinite; } @keyframes star-twinkle { 0%, 100% { opacity: 0; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.5); } } .midnight-hero-container { position: relative; max-width: var(--container-width); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-12); align-items: center; z-index: 1; } .midnight-hero-content { display: flex; flex-direction: column; align-items: flex-start; } .midnight-hero-badge { background: var(--midnight-accent); color: var(--midnight-dark); font-size: 0.85rem; font-weight: 600; padding: var(--sp-2) var(--sp-4); border-radius: 99px; margin-bottom: var(--sp-4); box-shadow: 0 4px 10px rgba(76, 185, 84, 0.3); text-transform: uppercase; letter-spacing: 0.05em; } .midnight-hero-title { font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 800; background: linear-gradient(var(--gradient-secondary), var(--midnight-text), var(--midnight-blue)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: var(--sp-4); line-height: 1.2; } .midnight-hero-subtitle { font-size: clamp(1.1rem, 2vw, 1.3rem); color: var(--midnight-text); margin-bottom: var(--sp-6); line-height: 1.6; opacity: 0.9; } .midnight-hero-description { font-size: 1.05rem; line-height: 1.7; color: var(--midnight-text-secondary); margin-bottom: var(--sp-8); max-width: 540px; } .midnight-cta { display: inline-flex; align-items: center; justify-content: center; background: var(--midnight-accent); color: var(--midnight-dark); font-weight: 600; padding: 0.8rem 2rem; border-radius: var(--border-radius); text-decoration: none; box-shadow: 0 6px 16px rgba(76, 185, 84, 0.3); transition: all 0.3s ease; position: relative; overflow: hidden; border: none; cursor: pointer; font-size: 1rem; } .midnight-cta:hover { background: var(--midnight-button-hover); transform: translateY(-3px); box-shadow: 0 10px 25px rgba(76, 185, 84, 0.4); } .midnight-cta::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: 0.5s; } .midnight-cta:hover::after { left: 100%; } .midnight-secondary-cta { display: inline-flex; align-items: center; justify-content: center; background: transparent; color: var(--midnight-text); font-weight: 500; padding: 0.8rem 2rem; border-radius: var(--border-radius); text-decoration: none; border: 1px solid rgba(240, 238, 230, 0.3); transition: all 0.3s ease; margin-left: var(--sp-4); } .midnight-secondary-cta:hover { background: rgba(240, 238, 230, 0.1); transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2); } /* Browser mockup */ .midnight-hero-browser { position: relative; } .browser-window { background: var(--midnight-dark); border-radius: 8px; overflow: hidden; box-shadow: var(--shadow-lg); height: 320px; transform: perspective(1000px) rotateY(5deg) rotateX(3deg); transition: all 0.5s ease; border: 1px solid rgba(255, 255, 255, 0.1); } .midnight-hero-browser:hover .browser-window { transform: perspective(1000px) rotateY(0) rotateX(0); } .browser-toolbar { background: var(--midnight-darkest); padding: 10px; height: 60px; display: flex; flex-direction: column; gap: 8px; } .browser-tabs { display: flex; gap: 2px; } .browser-tab { background: var(--midnight-gray); color: rgba(240, 238, 230, 0.6); padding: 5px 15px; border-radius: 5px 5px 0 0; font-size: 0.8rem; } .browser-tab.active { background: var(--midnight-blue); color: var(--midnight-text); } .browser-address-bar { background: var(--midnight-dark); height: 26px; border-radius: 13px; } .browser-content { height: 245px; background: linear-gradient(var(--gradient-secondary), #1f1f1f, #303030); position: relative; overflow: hidden; } .browser-content::after { content: ''; position: absolute; top: 20px; left: 20px; right: 20px; height: 15px; background: rgba(255, 255, 255, 0.05); border-radius: 3px; } .browser-content::before { content: ''; position: absolute; top: 50px; left: 20px; right: 20px; bottom: 20px; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0.01) 100%); border-radius: 3px; } /* ===== Content Styling ===== */ main { max-width: 800px; margin: 0 auto; padding: 0 var(--sp-6); background: unset !important; box-shadow: none !important; } /* Section styling */ .midnight-content section { background: var(--midnight-darkest); border-radius: var(--border-radius-lg); padding: var(--sp-8); margin-bottom: var(--sp-8); box-shadow: var(--shadow); border: 1px solid rgba(255, 255, 255, 0.05); position: relative; overflow: hidden; } .midnight-content section::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: var(--midnight-gradient); } main h2 { color: var(--midnight-text); margin-bottom: var(--sp-6); font-size: 1.75rem; font-weight: 700; position: relative; display: inline-block; } main h2::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 100%; height: 2px; background: linear-gradient(to right, var(--midnight-blue), transparent); border-radius: 2px; } [dir="rtl"] main h2::after { background: linear-gradient(to left, var(--midnight-blue), transparent); } main h3 { color: var(--midnight-accent); margin: var(--sp-6) 0 var(--sp-4); font-size: 1.5rem; font-weight: 600; } main p { margin-bottom: var(--sp-4); line-height: 1.8; color: var(--text); } main ul { color: var(--text); list-style: none; } main li { margin-bottom: var(--sp-3); position: relative; padding-left: var(--sp-4); line-height: 1.7; } main li::before { content: '✦'; position: absolute; left: 0; font-size: 0.9rem; color: var(--midnight-accent); } main a { color: var(--midnight-accent); text-decoration: none; border-bottom: 1px solid transparent; transition: all 0.2s ease; font-weight: 500; } main a:hover { border-bottom-color: var(--midnight-accent); } main hr { margin: var(--sp-8) 0; border: none; height: 1px; background: linear-gradient(90deg, transparent, var(--midnight-blue), transparent); } /* Install button styling */ main a[href*="chromewebstore.google.com"] { display: inline-block; background: var(--midnight-accent); color: var(--midnight-dark); font-weight: 600; padding: var(--sp-3) var(--sp-6); border-radius: var(--border-radius); margin: var(--sp-6) 0; box-shadow: 0 6px 16px rgba(76, 185, 84, 0.25); transition: all 0.3s ease; text-decoration: none; border-bottom: none; } main a[href*="chromewebstore.google.com"]:hover { transform: translateY(-3px); box-shadow: 0 10px 25px rgba(76, 185, 84, 0.35); background: var(--midnight-button-hover); } /* Color palette display */ .color-palette { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-4); margin: var(--sp-8) 0; } .color-swatch { width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.8rem; text-align: center; color: white; transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); position: relative; } .color-swatch:hover { transform: scale(1.1); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); } .color-swatch::after { content: attr(data-name); position: absolute; top: 110%; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 0.75rem; color: var(--text-secondary); } .color-darkest { background-color: var(--midnight-darkest); } .color-dark { background-color: var(--midnight-dark); } .color-blue { background-color: var(--midnight-blue); } .color-gray { background-color: var(--midnight-gray); } .color-accent { background-color: var(--midnight-accent); color: var(--midnight-dark); } /* ===== Responsive Adjustments ===== */ @media (max-width: 992px) { .midnight-hero-container { grid-template-columns: 1fr; gap: var(--sp-8); } .midnight-hero-content { text-align: center; align-items: center; order: 1; } .midnight-hero-browser { order: 0; margin: 0 auto; max-width: 80%; } .browser-window { transform: perspective(1000px) rotateY(0) rotateX(5deg) rotateZ(0); } .midnight-secondary-cta { margin-left: 0; margin-top: var(--sp-4); } .midnight-hero-description { text-align: center; max-width: 100%; } .color-palette { gap: var(--sp-3); } .color-swatch { width: 70px; height: 70px; } } @media (max-width: 768px) { .midnight-hero { padding: calc(var(--header-height) + var(--sp-6)) var(--sp-4) var(--sp-8); } .midnight-hero-title { font-size: 2.2rem; } .midnight-hero-subtitle { font-size: 1.1rem; } .midnight-content section { padding: var(--sp-6); } main h2 { font-size: 1.5rem; } main h3 { font-size: 1.3rem; } .browser-window { height: 280px; } .color-swatch { width: 60px; height: 60px; } } @media (max-width: 576px) { .midnight-hero-browser { max-width: 100%; } .midnight-content section { padding: var(--sp-4); } main { padding: 0 var(--sp-4); } .midnight-cta, .midnight-secondary-cta { width: 100%; justify-content: center; } .color-palette { justify-content: center; } .color-swatch { width: 50px; height: 50px; font-size: 0.7rem; } .color-swatch::after { font-size: 0.7rem; } } /* ===== Accessibility ===== */ @media (prefers-reduced-motion: reduce) { .star { animation: none !important; } .midnight-hero-browser, .browser-window, .midnight-cta, .midnight-secondary-cta { transition: none !important; transform: none !important; } .midnight-cta::after { display: none; } .color-swatch:hover { transform: none; } } [dir="rtl"] li { padding-right: var(--sp-4); padding-left: 0; } [dir="rtl"] li::before { left: auto; right: 0; } [dir="rtl"] .color-swatch::after { left: auto; right: 50%; transform: translateX(50%); }
