diff --git a/src/main.js b/src/main.js index a6ace3e..277ad19 100644 --- a/src/main.js +++ b/src/main.js @@ -1,60 +1,21 @@ import './style.css' -import javascriptLogo from './assets/javascript.svg' -import viteLogo from './assets/vite.svg' -import heroImg from './assets/hero.png' -import { setupCounter } from './counter.js' document.querySelector('#app').innerHTML = ` -
-
- - JavaScript logo - Vite logo +
+
-
-

Get started

-

Edit src/main.js and save to test HMR

-
- -
- -
- -
-
- -

Documentation

-

Your questions, answered

- -
-
- -

Connect with us

-

Join the Vite community

- -
-
- -
-
+

☢️ NUCLEAR POWER PARTY ☢️

+

WARNING: HIGH ENERGY VIBES DETECTED

+ +
Status: Stable
` -setupCounter(document.querySelector('#counter')) +document.querySelector('#meltdown-btn').addEventListener('click', () => { + document.querySelector('.core').style.backgroundColor = '#ff0000'; + document.querySelector('.core').style.boxShadow = '0 0 100px #ff0000, 0 0 200px #ff0000'; + document.querySelector('h1').style.color = '#ff0000'; + document.querySelector('h1').style.textShadow = '0 0 20px #ff0000'; + document.querySelector('#status').innerHTML = 'Status: CRITICAL MELTDOWN IN PROGRESS! 🕺💃'; + document.querySelector('#status').style.color = '#ff0000'; + document.querySelector('#status').style.animation = 'blink 0.2s infinite'; +}); diff --git a/src/style.css b/src/style.css index 527d4fb..057740b 100644 --- a/src/style.css +++ b/src/style.css @@ -1,296 +1,94 @@ :root { - --text: #6b6375; - --text-h: #08060d; - --bg: #fff; - --border: #e5e4e7; - --code-bg: #f4f3ec; - --accent: #aa3bff; - --accent-bg: rgba(170, 59, 255, 0.1); - --accent-border: rgba(170, 59, 255, 0.5); - --social-bg: rgba(244, 243, 236, 0.5); - --shadow: - rgba(0, 0, 0, 0.1) 0 10px 15px -3px, rgba(0, 0, 0, 0.05) 0 4px 6px -2px; + font-family: 'Courier New', Courier, monospace; + line-height: 1.5; + font-weight: 400; - --sans: system-ui, 'Segoe UI', Roboto, sans-serif; - --heading: system-ui, 'Segoe UI', Roboto, sans-serif; - --mono: ui-monospace, Consolas, monospace; - - font: 18px/145% var(--sans); - letter-spacing: 0.18px; - color-scheme: light dark; - color: var(--text); - background: var(--bg); - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - @media (max-width: 1024px) { - font-size: 16px; - } -} - -@media (prefers-color-scheme: dark) { - :root { - --text: #9ca3af; - --text-h: #f3f4f6; - --bg: #16171d; - --border: #2e303a; - --code-bg: #1f2028; - --accent: #c084fc; - --accent-bg: rgba(192, 132, 252, 0.15); - --accent-border: rgba(192, 132, 252, 0.5); - --social-bg: rgba(47, 48, 58, 0.5); - --shadow: - rgba(0, 0, 0, 0.4) 0 10px 15px -3px, rgba(0, 0, 0, 0.25) 0 4px 6px -2px; - } - - #social .button-icon { - filter: invert(1) brightness(2); - } + color-scheme: dark; + color: #39ff14; + background-color: #111; + text-align: center; } body { margin: 0; -} - -h1, -h2 { - font-family: var(--heading); - font-weight: 500; - color: var(--text-h); + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; + flex-direction: column; + justify-content: center; } h1 { - font-size: 56px; - letter-spacing: -1.68px; - margin: 32px 0; - @media (max-width: 1024px) { - font-size: 36px; - margin: 20px 0; - } -} -h2 { - font-size: 24px; - line-height: 118%; - letter-spacing: -0.24px; - margin: 0 0 8px; - @media (max-width: 1024px) { - font-size: 20px; - } -} -p { - margin: 0; + font-size: 3.2em; + line-height: 1.1; + text-shadow: 0 0 10px #39ff14; + margin-top: 40px; } -code, -.counter { - font-family: var(--mono); - display: inline-flex; - border-radius: 4px; - color: var(--text-h); -} - -code { - font-size: 15px; - line-height: 135%; - padding: 4px 8px; - background: var(--code-bg); -} - -.counter { - font-size: 16px; - padding: 5px 10px; - border-radius: 5px; - color: var(--accent); - background: var(--accent-bg); - border: 2px solid transparent; - transition: border-color 0.3s; - margin-bottom: 24px; - - &:hover { - border-color: var(--accent-border); - } - &:focus-visible { - outline: 2px solid var(--accent); - outline-offset: 2px; - } -} - -.hero { - position: relative; - - .base, - .framework, - .vite { - inset-inline: 0; - margin: 0 auto; - } - - .base { - width: 170px; - position: relative; - z-index: 0; - } - - .framework, - .vite { - position: absolute; - } - - .framework { - z-index: 1; - top: 34px; - height: 28px; - transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg) - scale(1.4); - } - - .vite { - z-index: 0; - top: 107px; - height: 26px; - width: auto; - transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg) - scale(0.8); - } -} - -#app { - width: 1126px; - max-width: 100%; +.reactor { + width: 200px; + height: 200px; + border-radius: 50%; + border: 10px solid #555; margin: 0 auto; - text-align: center; - border-inline: 1px solid var(--border); - min-height: 100svh; display: flex; - flex-direction: column; - box-sizing: border-box; -} - -#center { - display: flex; - flex-direction: column; - gap: 25px; - place-content: center; - place-items: center; - flex-grow: 1; - - @media (max-width: 1024px) { - padding: 32px 20px 24px; - gap: 18px; - } -} - -#next-steps { - display: flex; - border-top: 1px solid var(--border); - text-align: left; - - & > div { - flex: 1 1 0; - padding: 32px; - @media (max-width: 1024px) { - padding: 24px 20px; - } - } - - .icon { - margin-bottom: 16px; - width: 22px; - height: 22px; - } - - @media (max-width: 1024px) { - flex-direction: column; - text-align: center; - } -} - -#docs { - border-right: 1px solid var(--border); - - @media (max-width: 1024px) { - border-right: none; - border-bottom: 1px solid var(--border); - } -} - -#next-steps ul { - list-style: none; - padding: 0; - display: flex; - gap: 8px; - margin: 32px 0 0; - - .logo { - height: 18px; - } - - a { - color: var(--text-h); - font-size: 16px; - border-radius: 6px; - background: var(--social-bg); - display: flex; - padding: 6px 12px; - align-items: center; - gap: 8px; - text-decoration: none; - transition: box-shadow 0.3s; - - &:hover { - box-shadow: var(--shadow); - } - .button-icon { - height: 18px; - width: 18px; - } - } - - @media (max-width: 1024px) { - margin-top: 20px; - flex-wrap: wrap; - justify-content: center; - - li { - flex: 1 1 calc(50% - 8px); - } - - a { - width: 100%; - justify-content: center; - box-sizing: border-box; - } - } -} - -#spacer { - height: 88px; - border-top: 1px solid var(--border); - @media (max-width: 1024px) { - height: 48px; - } -} - -.ticks { + align-items: center; + justify-content: center; position: relative; - width: 100%; + background: #222; + box-shadow: inset 0 0 50px #000; +} - &::before, - &::after { - content: ''; - position: absolute; - top: -4.5px; - border: 5px solid transparent; - } +.core { + width: 100px; + height: 100px; + border-radius: 50%; + background-color: #39ff14; + box-shadow: 0 0 50px #39ff14, 0 0 100px #39ff14; + animation: pulse 2s infinite alternate; + transition: all 1s; +} - &::before { - left: 0; - border-left-color: var(--border); - } - &::after { - right: 0; - border-right-color: var(--border); - } +@keyframes pulse { + 0% { transform: scale(0.9); box-shadow: 0 0 20px #39ff14; } + 100% { transform: scale(1.1); box-shadow: 0 0 60px #39ff14, 0 0 100px #39ff14; } +} + +@keyframes blink { + 0% { opacity: 1; } + 50% { opacity: 0; } + 100% { opacity: 1; } +} + +.warning { + font-weight: bold; + font-size: 1.2em; + color: #ffff00; + margin: 20px 0; +} + +button { + border-radius: 8px; + border: 2px solid #ff0000; + padding: 0.6em 1.2em; + font-size: 1.2em; + font-weight: bold; + font-family: inherit; + background-color: #330000; + color: #ff0000; + cursor: pointer; + transition: all 0.25s; + box-shadow: 0 0 10px #ff0000; +} +button:hover { + background-color: #ff0000; + color: #fff; + box-shadow: 0 0 20px #ff0000; +} + +#status { + margin-top: 30px; + font-size: 1.5em; + font-weight: bold; }