nealfun / index.html
jacobinathanialpeterson's picture
Create index.html
1d33e21 verified
<!doctype html>
<html data-n-head-ssr lang="en" data-n-head="%7B%22lang%22:%7B%22ssr%22:%22en%22%7D%7D">
<head>
<title>Neal.fun</title>
<meta data-n-head="ssr" charset="utf-8">
<meta data-n-head="ssr" name="viewport" content="width=device-width,initial-scale=1">
<meta data-n-head="ssr" name="google-site-verification" content="Vyp6Lq2HJODQviN98DbqlmqefoUuDj_cwlmS7jAgaao">
<meta data-n-head="ssr" name="title" content="Neal.fun">
<meta data-n-head="ssr" name="description" content="Games, visualizations, interactives and other weird stuff.">
<link data-n-head="ssr" rel="canonical" href="https://neal.fun">
<link data-n-head="ssr" rel="icon" type="image/png" href="/favicons/home.png">
<script data-n-head="ssr" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4556406968269041" async crossorigin="anonymous"></script>
<link rel="preload" href="/_nuxt/230b0e1.js" as="script">
<link rel="preload" href="/_nuxt/d2031f3.js" as="script">
<link rel="preload" href="/_nuxt/d1bdeae.js" as="script">
<link rel="preload" href="/_nuxt/8408c71.js" as="script">
<link rel="preload" href="/_nuxt/992eef7.js" as="script">
<link rel="preload" href="/_nuxt/dcc1889.js" as="script">
<style data-vue-ssr-id="1a73ea6b:0 2ccdeb7a:0 f516c438:0 db35a8f0:0">
.nuxt-progress {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 2px;
width: 0;
opacity: 1;
transition: width .1s,opacity .4s;
background-color: #000;
z-index: 999999
}
.nuxt-progress.nuxt-progress-notransition {
transition: none
}
.nuxt-progress-failed {
background-color: red
}
@font-face {
font-family: Roboto;
src: url(/_nuxt/fonts/Roboto-Medium.70ace38.woff2)
}
@font-face {
font-family: Roboto;
font-weight: 700;
src: url(/_nuxt/fonts/Roboto-Bold.002079d.woff2)
}
html {
font-size: 16px;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
color: #000;
font-family: Roboto,sans-serif;
background: #fff
}
*,:after,:before {
box-sizing: border-box;
margin: 0
}
.simple-page {
background: #f1f2f6
}
.pw_report_ad_container {
display: none!important
}
@font-face {
font-family: RobotoCondensedLight;
src: url(/_nuxt/fonts/RobotoCondensed-Light.f982e4a.woff2)
}
.container[data-v-7b1d768e] {
margin-left: auto;
margin-right: auto;
color: #000;
font-family: RobotoCondensedLight,sans-serif
}
.follow-block[data-v-7b1d768e] {
background-color: #fff;
font-size: 20px;
text-align: center;
margin-bottom: 37px
}
.posts[data-v-7b1d768e] {
display: grid;
margin-top: 10px;
font-size: 0;
grid-template-columns: repeat(3,1fr);
grid-template-rows: auto;
grid-gap: 20px 22px;
justify-content: center;
padding: 0 25px;
max-width: 1400px;
width: 100%;
margin-left: auto;
margin-right: auto
}
.made-by[data-v-7b1d768e] {
background: #fff;
margin-top: 10px;
font-size: 21px;
text-align: center;
padding: 25px 20px 20px;
margin-bottom: 40px
}
.site-title[data-v-7b1d768e] {
text-align: center;
margin-top: 58px;
font-weight: 700;
min-height: 55px;
max-width: 210px;
margin-left: auto;
margin-right: auto;
width: 100%;
display: block;
animation: pulse 1s infinite alternate-reverse
}
.site-tagline[data-v-7b1d768e] {
text-align: center;
font-size: 21px;
margin-top: 10px;
margin-bottom: 47px;
opacity: .7
}
.socials[data-v-7b1d768e] {
display: flex;
justify-content: center;
grid-gap: 12px;
margin-top: 12px
}
.social-btn[data-v-7b1d768e] {
border: 1px solid #000;
border-radius: 12px;
padding: 10px 18px 8px 12px;
display: flex;
align-items: center;
color: #000;
text-decoration: none;
cursor: pointer
}
.social-btn[data-v-7b1d768e]:hover {
transform: scale(1.04)
}
.social-btn-icon[data-v-7b1d768e] {
height: 26px;
margin-right: 10px
}
.social-btn-twitter[data-v-7b1d768e] {
padding: 1px 0
}
.contact[data-v-7b1d768e] {
margin-top: 12px
}
.contact a[data-v-7b1d768e],.privacy[data-v-7b1d768e] {
color: #000;
text-decoration: none
}
.privacy[data-v-7b1d768e] {
display: block;
margin-top: 12px;
opacity: .5;
font-size: 16px
}
.newsletter-tagline[data-v-7b1d768e] {
position: absolute;
top: 9px;
right: 10px;
font-size: 20px;
cursor: pointer;
display: flex
}
.newsletter-tagline[data-v-7b1d768e]:hover {
transform: scale(1.03)
}
.newsletter-icon[data-v-7b1d768e] {
height: 15px;
position: relative;
top: 4px;
margin-right: 5px
}
@media only screen and (max-width: 1280px) {
.posts[data-v-7b1d768e] {
grid-gap:15px 16px
}
}
@media only screen and (max-width: 1130px) {
.posts[data-v-7b1d768e] {
grid-template-columns:1fr 1fr;
max-width: 900px;
grid-gap: 15px 18px
}
}
@media only screen and (max-width: 700px) {
.newsletter-tagline[data-v-7b1d768e] {
display:none
}
}
@media only screen and (max-width: 600px) {
.posts[data-v-7b1d768e] {
grid-template-columns:repeat(1,1fr);
grid-gap: 7px;
padding: 0 8px
}
.site-title[data-v-7b1d768e] {
margin-top: 55px;
font-size: 48px
}
.site-tagline[data-v-7b1d768e] {
margin-top: 10px
}
.made-by[data-v-7b1d768e],.site-tagline[data-v-7b1d768e] {
margin-bottom: 30px
}
.made-by-desc[data-v-7b1d768e] {
max-width: 300px;
margin-left: auto;
margin-right: auto
}
.socials[data-v-7b1d768e] {
display: grid;
grid-template-columns: 1fr 1fr
}
.social-btn[data-v-7b1d768e] {
justify-content: center;
padding: 10px 0
}
.social-full[data-v-7b1d768e] {
grid-column: span 2
}
}
.link {
border-radius: 19px;
aspect-ratio: 391/145;
display: block;
position: relative;
z-index: 2
}
.link-img {
max-width: 100%;
cursor: pointer;
transition: transform .07s linear,filter .1s ease-out,opacity .15s linear;
opacity: 0
}
.link-img:hover {
transform: scale(1.02);
filter: drop-shadow(3px 3px 5px rgba(0,0,0,.17))
}
</style>
<link rel="preload" href="/_nuxt/static/1707066671/state.js" as="script">
<link rel="preload" href="/_nuxt/static/1707066671/payload.js" as="script">
<link rel="preload" href="/_nuxt/static/1707066671/manifest.js" as="script">
</head>
<body>
<div data-server-rendered="true" id="__nuxt">
<div id="__layout">
<div>
<div class="container" data-v-7b1d768e>
<div class="newsletter-tagline" data-v-7b1d768e>
<img src="/general/mail.svg" class="newsletter-icon" data-v-7b1d768e>Get new posts
</div>
<img alt="Neal.fun logo" src="/general/logo.svg" class="site-title" data-v-7b1d768e>
<div class="site-tagline" data-v-7b1d768e>a tiny website by neal</div>
<div class="posts" data-v-7b1d768e>
<a href="/infinite-craft/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Infinite Craft" src="/link-images/infinite-craft.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/internet-artifacts/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Internet Artifacts" src="/link-images/internet-artifacts.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/password-game/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="The Password Game" src="/link-images/password-game.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/space-elevator/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Space Elevator" src="/link-images/space-elevator.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/asteroid-launcher/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Asteroid Launcher" src="/link-images/asteroid-launcher.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/perfect-circle/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Draw a Perfect Circle ⭕️💯" src="/link-images/perfect-circle.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/wonders-of-street-view/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Wonders of Street View" src="/link-images/wonders-of-street-view.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/days-since-incident/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Days Since Incident" src="/link-images/days-since-incident.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/design-the-next-iphone/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Design the next iPhone" src="/link-images/design-the-next-iphone.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/absurd-trolley-problems/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Absurd Trolley Problems" src="/link-images/absurd-trolley-problems.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/earth-reviews/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Earth Reviews" src="/link-images/earth-reviews.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/lets-settle-this/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Let's Settle This" src="/link-images/lets-settle-this.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/ambient-chaos/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Ambient Chaos" src="/link-images/ambient-chaos.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/rocks/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Rocks" src="/link-images/rocks.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/sell-sell-sell/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Sell! Sell! Sell!" src="/link-images/sell-sell-sell.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/universe-forecast/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Universe Forecast" src="/link-images/universe-forecast.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/auction-game/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="The Auction Game" src="/link-images/auction-game.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/printing-money/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Printing Money" src="/link-images/printing-money.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/life-stats/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Life Stats" src="/link-images/life-stats.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/deep-sea/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="The Deep Sea" src="/link-images/deep-sea.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/size-of-space/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="The Size of Space" src="/link-images/size-of-space.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/share-this-page/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Share This Page" src="/link-images/share-this-page.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/dark-patterns/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Dark Patterns" src="/link-images/dark-patterns.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/who-was-alive/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Who Was Alive?" src="/link-images/who-was-alive.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/where-does-the-day-go/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Where does the day go?" src="/link-images/where-does-the-day-go.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/life-checklist/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Life Checklist" src="/link-images/life-checklist.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/speed/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Speed" src="/link-images/speed.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/paper/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Paper" src="/link-images/paper.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/logos-from-memory/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Draw Logos From Memory" src="/link-images/logos-from-memory.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/progress/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Progress" src="/link-images/progress.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/spend/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Spend Bill Gates' Money" src="/link-images/spend.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
<a href="/baby-map/" class="link" style="background:#f1f2f6" data-v-7b1d768e>
<img onload alt="Baby Map" src="/link-images/baby-map.svg" loading="lazy" class="link-img" style="opacity:0">
</a>
</div>
<div class="made-by" data-v-7b1d768e>
<div class="made-by-desc" data-v-7b1d768e>Hi! I'm Neal. This is where I make stuff on the web. Obligatory links:
</div>
<div class="socials" data-v-7b1d768e>
<div href="https://twitter.com/nealagarwal" target="_blank" class="social-btn social-full" data-v-7b1d768e>
<img src="/general/mail.svg" alt="Mail" class="social-btn-icon social-btn-twitter" data-v-7b1d768e>
<span data-v-7b1d768e>Newsletter</span>
</div>
<a href="https://twitter.com/nealagarwal" target="_blank" class="social-btn social-full" data-v-7b1d768e>
<img src="/general/twitter.svg" alt="Twitter" class="social-btn-icon social-btn-twitter" data-v-7b1d768e>Twitter
</a>
<a target="_blank" href="https://www.buymeacoffee.com/neal" class="social-btn social-full" data-v-7b1d768e>
<img alt="Coffee" src="/general/coffee.svg" class="social-btn-icon" data-v-7b1d768e>Buy me a coffee
</a>
</div>
<div class="contact" data-v-7b1d768e>
Say hello:
<a target="_blank" href="/cdn-cgi/l/email-protection#ee8687ae808b8f82c0889b80" data-v-7b1d768e>
<span class="__cf_email__" data-cfemail="462e2f062823272a68203328">[email &#160;protected]</span>
</a>
</div>
<a href="/privacy-policy/" class="privacy" data-v-7b1d768e>Privacy policy</a>
</div>
</div>
</div>
</div>
</div>
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
<script defer src="/_nuxt/static/1707066671/state.js"></script>
<script src="/_nuxt/230b0e1.js" defer></script>
<script src="/_nuxt/992eef7.js" defer></script>
<script src="/_nuxt/dcc1889.js" defer></script>
<script src="/_nuxt/d2031f3.js" defer></script>
<script src="/_nuxt/d1bdeae.js" defer></script>
<script src="/_nuxt/8408c71.js" defer></script>
</body>
</html>