Compare commits

...

14 Commits

Author SHA1 Message Date
askang04
9eff009f94 Added price 2026-07-07 01:52:36 +00:00
Replit Agent
ecd64f2bca Remove contact form and related fields from the homepage
Delete the entire contact form section, including name, message, and send message elements, from index.html.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 109fb86c-9dd9-4da1-8960-afe5e77adea0
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/2fn34tC
Replit-Helium-Checkpoint-Created: true
2026-07-07 01:50:44 +00:00
askang04
7d49a9e310 Added link that goes directly to site + remove email 2026-07-07 01:49:23 +00:00
Replit Agent
21c2c6ccd0 Update copyright and remove email field from contact form
Removed the email input field from the contact form in index.html and updated the copyright text to "Anshveer Kang" across all 8 HTML files.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: e7c2a5e8-91a7-4017-8c10-c4538643d934
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/2fn34tC
Replit-Helium-Checkpoint-Created: true
2026-07-07 01:48:09 +00:00
Replit Agent
302cb05165 Add new t-shirt product page and update site navigation
Create `rubiks-cube-solver-t-shirt.html` with full SEO meta tags, structured data, and product details. Update `index.html` to include the new product in the shop grid and add the new URL to `sitemap.xml`.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: fdccbccc-ca0d-4833-9054-ed849b29fc12
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/2fn34tC
Replit-Helium-Checkpoint-Created: true
2026-07-07 01:47:12 +00:00
Replit Agent
529c6c5a11 Restore proper formatting and bullet points to product descriptions
Reverted markdown syntax to HTML tags for product descriptions and bulleted lists across multiple product pages, and fixed broken CTA links.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: b71bc078-bfd0-4d19-8f04-6fc3a65d83f1
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/JJdm0gW
Replit-Helium-Checkpoint-Created: true
2026-07-05 22:01:37 +00:00
askang04
4069d3fe48 Added real prices and descriptions 2026-07-05 21:53:15 +00:00
Replit Agent
e2f2364912 Restore proper formatting and bullet points to sock product descriptions
Update rubiks-cube-socks.html to convert markdown descriptions to HTML paragraphs, add a "Product Features" unordered list, and fix a broken href attribute in the CTA button.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 75e121a0-dca1-4158-8aef-7a2fcb0557e5
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/QJ5kQog
Replit-Helium-Checkpoint-Created: true
2026-07-05 21:36:46 +00:00
askang04
2f410aeb4e Added real prices and descriptions 2026-07-05 21:33:15 +00:00
Replit Agent
df76c6ad55 Update product pages with proper formatting for descriptions
Converts markdown formatting in product descriptions to HTML paragraphs, headers, and lists across multiple HTML files.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 5f6e99e5-1011-4504-8bec-2abb363340ea
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/I3P2Jvw
Replit-Helium-Checkpoint-Created: true
2026-07-05 21:04:48 +00:00
Replit Agent
752457032f Format product descriptions to properly display bullet points and styling
Update `rubiks-cube-socks.html` to use HTML tags for product descriptions, and `styles.css` to add CSS rules for `p`, `h3`, `ul`, and `li` elements within the `.product-description` class to ensure proper rendering of bullet points and text styling.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 8a4250cf-424f-4911-8fb9-041eb6a44f92
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/IEMXGsm
Replit-Helium-Checkpoint-Created: true
2026-07-05 21:00:28 +00:00
askang04
891678ace2 Added real prices and descriptions 2026-07-05 20:53:21 +00:00
Replit Agent
0f60be4174 Add six new product pages with SEO optimization and a shop section
Introduces six new HTML product pages (e.g., rubiks-cube-mug-auf-victim.html) with individual SEO meta tags, Open Graph, Twitter cards, and structured data. Updates index.html to include a new 'Shop' section, adds robots.txt and sitemap.xml, and enhances homepage SEO with a canonical URL, organization schema, and an ItemList schema for products.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: cb7f5886-1e99-485f-ba60-5e1aed72d023
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/z77BLws
Replit-Helium-Checkpoint-Created: true
2026-07-05 20:18:51 +00:00
Replit Agent
0bdc092a05 Add product images to enhance the online store and user experience
Add various product images to the images directory for new product listings.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: f5797e65-2210-4d2e-bf70-278d8a0098c1
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: e5b43d1c-9fec-48a5-9f2c-85a62a53527c
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/2a2c58da-54a0-4c86-8ad0-3b93439f70de/f5797e65-2210-4d2e-bf70-278d8a0098c1/D15BHvH
Replit-Helium-Checkpoint-Created: true
2026-07-05 20:13:28 +00:00
20 changed files with 1422 additions and 27 deletions

4
.gitignore vendored
View File

@@ -9,5 +9,9 @@
!/*.js
!/*.css
# Whitelist: SEO files
!/sitemap.xml
!/robots.txt
# Whitelist: images used by the site
!/images/

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

BIN
images/magnets.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -4,9 +4,47 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>JustGoodCubing</title>
<title>JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks &amp; Cubing Gear</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="JustGoodCubing makes premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers. Shop cubing gear designed by a cuber."/>
<link rel="canonical" href="https://justgoodcuber.com/"/>
<meta property="og:type" content="website"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks & Cubing Gear"/>
<meta property="og:description" content="Premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers."/>
<meta property="og:url" content="https://justgoodcuber.com/"/>
<meta property="og:image" content="https://justgoodcuber.com/images/logo.png"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="JustGoodCubing | Rubik's Cube Mugs, T-Shirts, Socks & Cubing Gear"/>
<meta name="twitter:description" content="Premium Rubik's Cube-inspired merch — mugs, t-shirts, socks, and magnets for speedcubers and puzzle lovers."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/logo.png"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "JustGoodCubing",
"url": "https://justgoodcuber.com/",
"logo": "https://justgoodcuber.com/images/logo.png",
"sameAs": ["https://www.youtube.com/@JustGoodCuber"]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "JustGoodCubing Products",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "url": "https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html", "name": "AUF VICTIM +2 Rubik's Cube Mug" },
{ "@type": "ListItem", "position": 2, "url": "https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html", "name": "3 Hours Later Rubik's Cube Mug" },
{ "@type": "ListItem", "position": 3, "url": "https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html", "name": "DNF Rubik's Cube T-Shirt" },
{ "@type": "ListItem", "position": 4, "url": "https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html", "name": "Speedcuber Rubik's Cube T-Shirt" },
{ "@type": "ListItem", "position": 5, "url": "https://justgoodcuber.com/rubiks-cube-socks.html", "name": "Rubik's Cube Socks" },
{ "@type": "ListItem", "position": 6, "url": "https://justgoodcuber.com/rubiks-cube-magnet.html", "name": "I Fell For U Rubik's Cube Magnet" }
]
}
</script>
</head>
<body>
@@ -15,6 +53,7 @@
<a href="#home" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="#home" data-section="home">Home</a></li>
<li><a href="#shop" data-section="shop">Shop</a></li>
<li><a href="#about" data-section="about">About</a></li>
<li><a href="#faq" data-section="faq">FAQ</a></li>
<li><a href="#contact" data-section="contact">Contact</a></li>
@@ -33,6 +72,7 @@
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="#home" class="mobile-nav-link">Home</a>
<a href="#shop" class="mobile-nav-link">Shop</a>
<a href="#about" class="mobile-nav-link">About</a>
<a href="#faq" class="mobile-nav-link">FAQ</a>
<a href="#contact" class="mobile-nav-link">Contact</a>
@@ -92,6 +132,73 @@
<div class="h-rule"></div>
<!-- ═══ SHOP ═══ -->
<section id="shop">
<div class="section-label reveal">The Collection</div>
<h2 class="section-title reveal">Rubik's Cube<br/>Merch.</h2>
<div class="shop-grid reveal">
<a href="rubiks-cube-mug-auf-victim.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">AUF VICTIM +2 Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-solver-t-shirt.html" class="product-card">
<div class="product-card-img"><img src="images/rubik-cube-solver-t-shirt-one-more-solve-3-hours-later-puzzle-lover-tee.jpg" alt="Rubik's Cube solver t-shirt One More Solve" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">One More Solve T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ ABOUT ═══ -->
<section id="about">
<div class="section-label reveal">The Story</div>
@@ -277,21 +384,6 @@
</div>
</div>
<form class="contact-form reveal" id="contactForm">
<div>
<label class="form-label" for="nameInput">Your Name</label>
<input class="form-input" id="nameInput" type="text" placeholder="Your name"/>
</div>
<div>
<label class="form-label" for="emailInput">Email</label>
<input class="form-input" id="emailInput" type="email" placeholder="your@email.com"/>
</div>
<div>
<label class="form-label" for="msgInput">Message</label>
<textarea class="form-textarea" id="msgInput" placeholder="Orders, collabs, or just saying hi — we're listening."></textarea>
</div>
<button type="submit" class="form-submit">Send Message ↗</button>
</form>
</div>
</section>
@@ -300,7 +392,7 @@
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 JustGoodCubing. All rights reserved.</div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>

View File

@@ -14,7 +14,7 @@ document.querySelectorAll('.reveal').forEach(function (el) { observer.observe(el
const secObs = new IntersectionObserver(function (entries) {
entries.forEach(function (e) { if (e.isIntersecting) { const id = e.target.id; document.querySelectorAll('.nav-links a[data-section]').forEach(function (a) { a.classList.toggle('active', a.dataset.section === id); }); } });
}, { rootMargin: '-40% 0px -55% 0px' });
['home', 'about', 'faq', 'contact'].forEach(function (id) { const el = document.getElementById(id); if (el) secObs.observe(el); });
['home', 'shop', 'about', 'faq', 'contact'].forEach(function (id) { const el = document.getElementById(id); if (el) secObs.observe(el); });
// FAQ card accordion
document.querySelectorAll('.faq-card-q').forEach(function (btn) {
@@ -27,14 +27,20 @@ document.querySelectorAll('.faq-card-q').forEach(function (btn) {
});
// Contact form
document.getElementById('contactForm').addEventListener('submit', function (e) {
const contactForm = document.getElementById('contactForm');
if (contactForm) {
contactForm.addEventListener('submit', function (e) {
e.preventDefault();
const btn = this.querySelector('.form-submit');
btn.textContent = 'Message Sent ✓'; btn.style.background = 'var(--green)'; btn.style.borderColor = 'var(--green)'; btn.style.color = '#000';
setTimeout(function () { btn.textContent = 'Send It ↗'; btn.style.background = btn.style.borderColor = btn.style.color = ''; }, 3000);
});
});
}
// 3D cube float
const cube = document.getElementById('cube3d'); let t = 0;
function floatCube() { t += 0.012; cube.style.marginTop = (Math.sin(t) * 12) + 'px'; requestAnimationFrame(floatCube); }
floatCube();
const cube = document.getElementById('cube3d');
if (cube) {
let t = 0;
function floatCube() { t += 0.012; cube.style.marginTop = (Math.sin(t) * 12) + 'px'; requestAnimationFrame(floatCube); }
floatCube();
}

4
robots.txt Normal file
View File

@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://justgoodcuber.com/sitemap.xml

166
rubiks-cube-magnet.html Normal file
View File

@@ -0,0 +1,166 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>I Fell For U Rubik's Cube Magnet | Cute Cubing Gift JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="The 'I Fell For U' Rubik's Cube magnet — a cute, colorful cubing-themed gift for puzzle lovers and speedcubers alike. Made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-magnet.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="I Fell For U Rubik's Cube Magnet | Cute Cubing Gift"/>
<meta property="og:description" content="A cute, colorful Rubik's Cube-themed magnet gift for puzzle lovers and speedcubers alike."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-magnet.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/magnets.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="I Fell For U Rubik's Cube Magnet"/>
<meta name="twitter:description" content="A cute, colorful Rubik's Cube-themed magnet gift for puzzle lovers and speedcubers alike."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/magnets.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "I Fell For U Rubik's Cube Magnet", "item": "https://justgoodcuber.com/rubiks-cube-magnet.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "I Fell For U Rubik's Cube Magnet",
"image": "https://justgoodcuber.com/images/magnets.jpg",
"description": "A cute, colorful Rubik's Cube-themed magnet gift for puzzle lovers and speedcubers alike.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube Magnet"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / I Fell For U Magnet</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet with colorful cube sticker design" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube Magnet</div>
<h1 class="product-title">I Fell For U Rubik's Cube Magnet</h1>
<div class="product-price" id="productPrice">$5.13</div>
<div class="product-description" id="productDescription">
<p>Add a little cubing humor to your collection with this <strong>Cubing U Perm Magnet</strong>, designed for speedcubers, cube solvers, and twisty puzzle fans. Featuring the clever phrase <strong>"I Fell for U"</strong> alongside a U Perm-inspired cube design, this speedcubing magnet turns one of the most recognizable PLL cases into a fun cubing joke.</p>
<p>Perfect for refrigerators, lockers, magnetic boards, or cubing setups, this <strong>Cubing U Perm Magnet</strong> is an easy way to show your love for speedcubing and Rubik's Cube-inspired puzzles. Whether you're practicing PLL algorithms, chasing faster solve times, or recovering from one too many U Perms, this magnet adds personality and cubing culture to any magnetic surface.</p>
<p>Looking for a unique <strong>gift for a speedcuber</strong>? This cubing magnet makes a fun gift for competitive cubers, PLL learners, cube collectors, and puzzle enthusiasts. The "I Fell for U" cubing pun makes it especially perfect for anyone who understands the struggle—and satisfaction—of recognizing and executing a U Perm.</p>
<h3>Product Features</h3>
<ul>
<li>Features an "I Fell for U" cubing pun and U Perm-inspired design</li>
<li>Designed for speedcubers, cube solvers, and puzzle enthusiasts</li>
<li>Great for refrigerators, lockers, magnetic boards, and cubing setups</li>
<li>Fun speedcubing accessory and cubing collectible</li>
<li>Eye-catching cube-inspired artwork</li>
<li>Perfect as a gift for speedcubers and Rubik's Cube fans</li>
</ul>
<p>Whether you're a beginner learning PLL or a competitive cuber working toward your next personal best, this <strong>Cubing U Perm Magnet</strong> is a fun way to bring speedcubing humor into your everyday space.</p>
</div>
<a href="https://shop.justgoodcuber.com/product/29583603" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,152 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>3 Hours Later Rubik's Cube Mug | Funny Cubing Meme Coffee Mug JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="The '3 Hours Later' Rubik's Cube mug — a hilarious cubing meme mug for anyone who's ever lost hours (and cubes) to a solve. Ceramic, 11oz/15oz, made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="3 Hours Later Rubik's Cube Mug | Funny Cubing Meme Coffee Mug"/>
<meta property="og:description" content="A hilarious cubing meme mug for anyone who's ever lost hours (and cubes) to a solve."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/ceramic-mug-2-11oz-15oz.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="3 Hours Later Rubik's Cube Mug"/>
<meta name="twitter:description" content="A hilarious cubing meme mug for anyone who's ever lost hours (and cubes) to a solve."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/ceramic-mug-2-11oz-15oz.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "3 Hours Later Rubik's Cube Mug", "item": "https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "3 Hours Later Rubik's Cube Mug",
"image": "https://justgoodcuber.com/images/ceramic-mug-2-11oz-15oz.jpg",
"description": "A hilarious cubing meme ceramic mug for anyone who's ever lost hours (and cubes) to a solve.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube Mug"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / 3 Hours Later Mug</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug funny cubing meme coffee mug" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube Mug</div>
<h1 class="product-title">3 Hours Later Rubik's Cube Mug</h1>
<div class="product-price" id="productPrice">$11.47</div>
<div class="product-description" id="productDescription">Warm-up with a nice cuppa out of this customized ceramic coffee mug. Personalize it with cool designs, photos or logos to make that "aaahhh!" moment even better. Its BPA and Lead-free, microwave & dishwasher-safe, and made of white, durable ceramic in 11-ounce and 15-ounce sizes. Thanks to the advanced printing tech, your designs come to life with incredibly vivid colors the perfect gift for coffee, tea, and chocolate lovers.
.: These mugs are made with durable white ceramic so that your prints can stand out.
.: Available in two sizes: 11oz (0.33 l) and 15oz (0.44 l)
.: All mugs feature a comfortable C-handle and a shiny finish so that they're both easy to use and great to look at.
.: Drink confidently on a daily basis as all mugs are lead and BPA-free.</div>
<a href="https://shop.justgoodcuber.com/product/29583489" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-mug-auf-victim.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">AUF VICTIM +2 Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,168 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>AUF VICTIM +2 Rubik's Cube Mug | Funny Speedcuber Coffee Mug JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="Shop the AUF VICTIM +2 Rubik's Cube mug — a funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty. Ceramic, 11oz/15oz, made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="AUF VICTIM +2 Rubik's Cube Mug | Funny Speedcuber Coffee Mug"/>
<meta property="og:description" content="A funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty. Ceramic, 11oz/15oz, made to order."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="AUF VICTIM +2 Rubik's Cube Mug"/>
<meta name="twitter:description" content="A funny speedcubing-inspired coffee mug for cubers who know the pain of a +2 penalty."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "AUF VICTIM +2 Rubik's Cube Mug", "item": "https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "AUF VICTIM +2 Rubik's Cube Mug",
"image": "https://justgoodcuber.com/images/ceramic-mug-11oz-15oz.jpg",
"description": "A funny speedcubing-inspired ceramic coffee mug for cubers who know the pain of a +2 penalty.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube Mug"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / AUF VICTIM +2 Mug</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug funny speedcubing coffee mug" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube Mug</div>
<h1 class="product-title">AUF VICTIM +2 Rubik's Cube Mug</h1>
<div class="product-price" id="productPrice">$11.99</div>
<div class="product-description" id="productDescription">
<p>Start your day with coffee, cubing, and one final adjustment with this <strong>AUF Mug</strong>, designed for speedcubers, cube solvers, and twisty puzzle enthusiasts. Inspired by the classic speedcubing term <strong>AUF (Adjust U Face)</strong>, this cubing mug is a fun way to represent one of the most recognizable parts of completing a solve.</p>
<p>Whether you're practicing algorithms, reviewing PLL cases, watching speedcubing videos, or preparing for your next cubing competition, this <strong>AUF Mug</strong> brings speedcubing culture to every sip. The durable white ceramic helps the cubing-inspired artwork stand out with vivid colors, while the comfortable C-handle and glossy finish make it perfect for everyday use.</p>
<p>Looking for a unique <strong>gift for a speedcuber</strong>? This AUF cubing mug makes a great gift for competitive cubers, CFOP users, puzzle enthusiasts, and Rubik's Cube fans. From beginners learning their first algorithms to experienced speedcubers chasing faster personal bests, the AUF design is a cubing reference every solver can appreciate.</p>
<h3>Product Features</h3>
<ul>
<li>Durable white ceramic for a clean, vibrant AUF design</li>
<li>Available in 11 oz (0.33 L) and 15 oz (0.44 L) sizes</li>
<li>Comfortable C-handle for easy everyday use</li>
<li>Glossy finish for a smooth, polished appearance</li>
<li>Advanced printing technology for bright and vivid colors</li>
<li>Microwave and dishwasher safe</li>
<li>Lead-free and BPA-free</li>
<li>Perfect for speedcubers, cube solvers, and puzzle enthusiasts</li>
</ul>
<p>Whether you're enjoying coffee before a competition, drinking tea during a long practice session, or searching for the perfect <strong>speedcubing gift</strong>, this <strong>AUF Mug</strong> is the perfect final adjustment to your cubing collection.</p>
</div>
<a href="https://shop.justgoodcuber.com/product/29583514" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

170
rubiks-cube-socks.html Normal file
View File

@@ -0,0 +1,170 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Rubik's Cube Socks | Cubing-Inspired Crew Socks JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="Step up your cubing style with our Rubik's Cube socks — vibrant, all-over sublimation print crew socks made for cubers and puzzle fans. Made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-socks.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="Rubik's Cube Socks | Cubing-Inspired Crew Socks"/>
<meta property="og:description" content="Vibrant, all-over sublimation print Rubik's Cube socks made for cubers and puzzle fans."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-socks.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/sublimation-socks.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Rubik's Cube Socks"/>
<meta name="twitter:description" content="Vibrant, all-over sublimation print Rubik's Cube socks made for cubers and puzzle fans."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/sublimation-socks.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "Rubik's Cube Socks", "item": "https://justgoodcuber.com/rubiks-cube-socks.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Rubik's Cube Socks",
"image": "https://justgoodcuber.com/images/sublimation-socks.jpg",
"description": "Vibrant, all-over sublimation print Rubik's Cube-inspired crew socks made for cubers and puzzle fans.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube Socks"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / Rubik's Cube Socks</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks with colorful cube sublimation print" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube Socks</div>
<h1 class="product-title">Rubik's Cube Socks</h1>
<div class="product-price" id="productPrice">$13.67</div>
<div class="product-description" id="productDescription">
<p>Bring speedcubing style to every step with these comfortable <strong>Speedcuber Socks</strong>, designed for competitive cubers, cube solvers, and puzzle enthusiasts. Featuring a vibrant cubing-inspired sublimated print, these <strong>speedcubing socks</strong> are a fun way to represent your passion for solving cubes wherever you go.</p>
<p>Whether you're attending a speedcubing competition, practicing algorithms at home, hanging out with fellow cubers, or looking for a unique addition to your everyday outfit, these <strong>Speedcuber Socks</strong> combine comfort with bold cubing style. The cushioned bottoms provide added comfort, while the stretchy polyester and spandex blend creates a flexible unisex fit.</p>
<p>Looking for a unique <strong>gift for a speedcuber</strong>? These cubing socks make a great gift for competitive speedcubers, cube enthusiasts, puzzle lovers, and anyone constantly chasing their next personal best. Available in three sizes, they're perfect for cubers who want to show off their love for speedcubing from head to toe.</p>
<h3>Product Features</h3>
<ul>
<li>95% polyester and 5% spandex for a comfortable, flexible fit</li>
<li>Vibrant sublimated speedcubing-inspired print</li>
<li>Available in three different sizes</li>
<li>Unisex regular fit</li>
<li>Ribbed tube construction</li>
<li>Cushioned bottoms for added everyday comfort</li>
<li>Perfect for speedcubing competitions, cubing practice, and casual wear</li>
</ul>
<h3>Please Note</h3>
<p>These socks are printed using a flat sublimation method. Slight color discrepancies may be visible along the side seams, particularly with darker designs.</p>
<p>Whether you're solving at home, competing for a new personal best, or searching for the perfect <strong>speedcubing gift</strong>, these <strong>Speedcuber Socks</strong> add cubing culture and personality to every outfit.</p>
</div>
<a href="https://shop.justgoodcuber.com/product/29583595" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-auf-victim.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">AUF VICTIM +2 Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,175 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Rubik's Cube Solver T-Shirt | One More Solve Cubing Tee JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="The One More Solve Rubik's Cube t-shirt — front shows a focused solver tackling a huge cube, back shows the 3-hours-later meltdown. Made for cube lovers and puzzle enthusiasts."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-solver-t-shirt.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="Rubik's Cube Solver T-Shirt | One More Solve Cubing Tee"/>
<meta property="og:description" content="Front: One More Solve. Back: 3 Hours Later. A Rubik's Cube t-shirt for puzzle lovers who get the joke."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-solver-t-shirt.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/rubik-cube-solver-t-shirt-one-more-solve-3-hours-later-puzzle-lover-tee.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Rubik's Cube Solver T-Shirt | One More Solve Cubing Tee"/>
<meta name="twitter:description" content="Front: One More Solve. Back: 3 Hours Later. A Rubik's Cube t-shirt for puzzle lovers who get the joke."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/rubik-cube-solver-t-shirt-one-more-solve-3-hours-later-puzzle-lover-tee.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "Rubik's Cube Solver T-Shirt", "item": "https://justgoodcuber.com/rubiks-cube-solver-t-shirt.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Rubik's Cube Solver T-Shirt One More Solve",
"image": "https://justgoodcuber.com/images/rubik-cube-solver-t-shirt-one-more-solve-3-hours-later-puzzle-lover-tee.jpg",
"description": "A Rubik's Cube t-shirt for puzzle solvers and cube lovers. Front shows 'One More Solve', back shows the 3-hours-later meltdown. Breathable midweight cotton with a tag-free neck.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube T-Shirt"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / Rubik's Cube Solver T-Shirt</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/rubik-cube-solver-t-shirt-one-more-solve-3-hours-later-puzzle-lover-tee.jpg" alt="Rubik's Cube solver t-shirt — front shows One More Solve, back shows 3 hours later meltdown" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube T-Shirt</div>
<h1 class="product-title">Rubik's Cube Solver T-Shirt One More Solve</h1>
<div class="product-price" id="productPrice">$39.82</div>
<div class="product-description" id="productDescription">
<p>This <strong>Rubik's Cube solver t-shirt</strong> carries a quiet, nerdy joy — the kind that comes from getting lost in a brain-bending challenge and laughing at yourself when it goes sideways. The front artwork shows a focused solver tackling a huge, colorful cube with the caption <strong>"One More Solve."</strong> The back flips the mood with a comic meltdown, scattered cube pieces, and the line <strong>"3 Hours Later…"</strong> — a playful nod to every obsessive solving session that stretched way past bedtime.</p>
<p>Whether you're a speedcuber working through algorithms, a casual <strong>Rubik's Cube enthusiast</strong> who just loves the puzzle, or someone who's lost entire evenings to a stubborn scramble, this <strong>puzzle lover tee</strong> tells your story without saying a word. Breathable midweight cotton and a tag-free neck keep you comfortable through hours of solving, and the clean white canvas makes the bright cube colors pop.</p>
<p>Looking for a funny <strong>Rubik's Cube gift</strong>, a great <strong>cubing shirt</strong>, or just a tee that cube people will instantly recognize? This <strong>One More Solve t-shirt</strong> is perfect for cube meetups, puzzle nights, casual hangouts, cubing competitions, and anywhere you want a shirt that gets the joke before you say a word. It's made for cubers who scramble through algorithms, laugh at their own mistakes, and celebrate every tiny victory along the way.</p>
<h3>Product Features</h3>
<ul>
<li>Front print: <strong>"One More Solve"</strong> with focused cube-solver artwork</li>
<li>Back print: <strong>"3 Hours Later…"</strong> comic meltdown with scattered cube pieces</li>
<li>100% cotton solid colors (medium 6.1 oz/yd²) — breathable, durable fabric</li>
<li>Twill tape at neck and shoulders for stability and reduced stretching</li>
<li>Tubular knit without side seams for a smooth, waste-reducing fit</li>
<li>Double-needle topstitching on seams for long-lasting durability</li>
<li>Tag-free neck label and small Champion "C" logo on left sleeve</li>
<li>Perfect for speedcubers, puzzle enthusiasts, cube solvers, and Rubik's Cube fans</li>
</ul>
<h3>Care Instructions</h3>
<ul>
<li>Machine wash cold (max 30°C or 90°F)</li>
<li>Do not bleach</li>
<li>Do not tumble dry</li>
<li>Iron, steam, or dry on low heat</li>
<li>Do not dry clean</li>
</ul>
</div>
<a href="https://shop.justgoodcuber.com/product/29794491 target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

181
rubiks-cube-tshirt-dnf.html Normal file
View File

@@ -0,0 +1,181 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>DNF Rubik's Cube T-Shirt | Funny Speedcubing Shirt JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="The DNF (Did Not Finish) Rubik's Cube t-shirt — a relaxed, funny design for speedcubers who know the vibes matter more than the time. Soft cotton tee, made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="DNF Rubik's Cube T-Shirt | Funny Speedcubing Shirt"/>
<meta property="og:description" content="A relaxed, funny Rubik's Cube design for speedcubers who know the vibes matter more than the time."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="DNF Rubik's Cube T-Shirt"/>
<meta name="twitter:description" content="A relaxed, funny Rubik's Cube design for speedcubers who know the vibes matter more than the time."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "DNF Rubik's Cube T-Shirt", "item": "https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "DNF Rubik's Cube T-Shirt",
"image": "https://justgoodcuber.com/images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg",
"description": "A relaxed, funny Rubik's Cube-inspired t-shirt for speedcubers who know the vibes matter more than the time.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube T-Shirt"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / DNF T-Shirt</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Did Not Finish Rubik's Cube t-shirt with relaxing cube design" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube T-Shirt</div>
<h1 class="product-title">DNF Rubik's Cube T-Shirt</h1>
<div class="product-price" id="productPrice">$41.32</div>
<div class="product-description" id="productDescription">
<p>Embrace the solve—even when it doesn't count—with this <strong>DNF Cubing Shirt</strong>, designed for speedcubers, cube solvers, and puzzle lovers who know that sometimes the vibes matter more than the timer. Featuring a relaxed cube-inspired character and the phrase <strong>"DNF: Did Not Finish, But the Vibes Were Good,"</strong> this funny speedcubing shirt brings cubing humor to competitions, practice sessions, and everyday wear.</p>
<p>The back of this <strong>DNF Cubing Shirt</strong> features a playful speedcuber checklist: Solve, Sub-5, World Record, and finally <strong>"Survive and DNF."</strong> It's a cubing joke every competitive solver can appreciate after a missed move, forgotten algorithm, or unfortunate DNF. Whether you're chasing personal bests or just enjoying the speedcubing community, this shirt is made for cubers who can laugh at the occasional failed solve.</p>
<p>Looking for a unique <strong>gift for a speedcuber</strong>? This funny cubing T-shirt makes a great gift for competitive cubers, Rubik's Cube fans, puzzle enthusiasts, and anyone familiar with the pain of seeing DNF on a scorecard. Wear it to a cubing competition, cube meetup, practice session, or anywhere you want to represent speedcubing culture.</p>
<p>Made with comfortable mid-weight cotton and a classic fit, this <strong>DNF Cubing Shirt</strong> is designed for durable everyday wear. The tag-free neckline and tubular knit construction create a clean, comfortable feel, while the cube-inspired artwork keeps the cubing humor front and center.</p>
<h3>Product Features</h3>
<ul>
<li>Funny "DNF: Did Not Finish, But the Vibes Were Good" cubing design</li>
<li>100% cotton solid colors; heather blends are 60% cotton and 40% polyester</li>
<li>Medium-weight fabric (6.1 oz/yd²) for comfortable, durable wear</li>
<li>Classic fit with a tag-free neck label</li>
<li>Twill tape helps maintain structure and stability</li>
<li>Tubular knit construction with no side seams</li>
<li>Double-needle topstitching for a clean, long-lasting finish</li>
<li>Subtle Champion "C" logo on the left sleeve</li>
<li>Perfect for speedcubing competitions, cube meetups, practice sessions, and casual wear</li>
<li>EU REACH compliant and made in Honduras</li>
</ul>
<h3>Care Instructions</h3>
<ul>
<li>Machine wash cold (max 30°C / 90°F)</li>
<li>Do not bleach</li>
<li>Do not tumble dry</li>
<li>Iron or steam on low heat</li>
<li>Do not dry clean</li>
</ul>
<p>Whether you missed the timer, forgot the algorithm, or simply had a solve that didn't go as planned, this <strong>DNF Cubing Shirt</strong> is a funny reminder that every speedcuber gets a DNF eventually. The solve may not count—but the vibes were good.</p>
</div>
<a href="https://shop.justgoodcuber.com/product/29583510" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-tshirt-speedcuber.html" class="product-card">
<div class="product-card-img"><img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">Speedcuber T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-auf-victim.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-11oz-15oz.jpg" alt="AUF VICTIM +2 Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">AUF VICTIM +2 Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Speedcuber Rubik's Cube T-Shirt | Speedcubing Puzzle Shirt JustGoodCubing</title>
<link rel="icon" type="image/png" href="images/logo.png"/>
<meta name="description" content="Show off your speedcubing pride with the Speedcuber Rubik's Cube t-shirt — a bold puzzle cube graphic tee for cubers and puzzle enthusiasts. Made to order."/>
<link rel="canonical" href="https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="JustGoodCubing"/>
<meta property="og:title" content="Speedcuber Rubik's Cube T-Shirt | Speedcubing Puzzle Shirt"/>
<meta property="og:description" content="A bold Rubik's Cube graphic tee for cubers and puzzle enthusiasts."/>
<meta property="og:url" content="https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html"/>
<meta property="og:image" content="https://justgoodcuber.com/images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg"/>
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:title" content="Speedcuber Rubik's Cube T-Shirt"/>
<meta name="twitter:description" content="A bold Rubik's Cube graphic tee for cubers and puzzle enthusiasts."/>
<meta name="twitter:image" content="https://justgoodcuber.com/images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg"/>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&family=Space+Mono:wght@400;700&display=swap" rel="stylesheet"/>
<link rel="stylesheet" href="styles.css">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://justgoodcuber.com/" },
{ "@type": "ListItem", "position": 2, "name": "Shop", "item": "https://justgoodcuber.com/#shop" },
{ "@type": "ListItem", "position": 3, "name": "Speedcuber Rubik's Cube T-Shirt", "item": "https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html" }
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Speedcuber Rubik's Cube T-Shirt",
"image": "https://justgoodcuber.com/images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg",
"description": "A bold Rubik's Cube-inspired graphic tee for cubers and puzzle enthusiasts.",
"brand": { "@type": "Brand", "name": "JustGoodCubing" },
"category": "Rubik's Cube T-Shirt"
}
</script>
</head>
<body>
<!-- NAV -->
<nav>
<a href="index.html" class="logo"><img src="images/logo.png" alt="JustGoodCubing"/></a>
<ul class="nav-links">
<li><a href="index.html#home">Home</a></li>
<li><a href="index.html#shop">Shop</a></li>
<li><a href="index.html#about">About</a></li>
<li><a href="index.html#faq">FAQ</a></li>
<li><a href="index.html#contact">Contact</a></li>
</ul>
<div class="nav-right">
<a href="https://www.youtube.com/@JustGoodCuber" target="_blank" rel="noopener" class="nav-yt-link" aria-label="YouTube">
<svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="nav-store-btn">Store ↗</a>
<button class="hamburger" id="hamburger" aria-label="Open menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu" id="mobileMenu">
<a href="index.html#home" class="mobile-nav-link">Home</a>
<a href="index.html#shop" class="mobile-nav-link">Shop</a>
<a href="index.html#about" class="mobile-nav-link">About</a>
<a href="index.html#faq" class="mobile-nav-link">FAQ</a>
<a href="index.html#contact" class="mobile-nav-link">Contact</a>
<a href="https://shop.justgoodcuber.com/products" target="_blank" rel="noopener" class="store-link mobile-nav-link">Store ↗</a>
</div>
<!-- ═══ PRODUCT ═══ -->
<section id="product">
<div class="breadcrumb reveal"><a href="index.html">Home</a> / <a href="index.html#shop">Shop</a> / Speedcuber T-Shirt</div>
<div class="product-grid reveal">
<div class="product-image-wrap">
<img src="images/speedcuber-rubik-cube-t-shirt-speedcubing-puzzle-shirt.jpg" alt="Speedcuber Rubik's Cube t-shirt with colorful puzzle cube graphic" loading="lazy"/>
</div>
<div class="product-info">
<div class="section-label">Rubik's Cube T-Shirt</div>
<h1 class="product-title">Speedcuber Rubik's Cube T-Shirt</h1>
<div class="product-price" id="productPrice">$29.55</div>
<div class="product-description" id="productDescription">
<p>Show your passion for speedcubing with this lightweight, breathable <strong>Speedcuber T-shirt</strong>, made for competitive cubers, puzzle enthusiasts, and anyone obsessed with faster solve times. Featuring a bold, colorful cube graphic with energetic brushstrokes, this speedcubing shirt captures the motion and excitement of a cube mid-solve. The crisp "SPEEDCUBER" design puts your passion front and center.</p>
<p>Whether you're practicing algorithms, chasing a new personal best, attending a cubing competition, streaming a solve, or hanging out with fellow cubers, this <strong>Speedcuber T-shirt</strong> combines comfort, style, and cubing culture. The soft ring-spun cotton feels breathable during long solving sessions, while the clean tubular knit construction keeps the design looking sharp.</p>
<p>A great <strong>speedcubing T-shirt, cubing shirt, or gift for speedcubers</strong>, this tee is perfect for cube solvers of all skill levels. From beginners learning their first algorithms to competitive cubers working toward faster averages, it's an easy way to represent the speedcubing community wherever you go.</p>
<h3>Product Features</h3>
<ul>
<li>100% ring-spun cotton (lightweight 153 g/m²) for a soft, breathable feel</li>
<li>Tubular knit construction with no side seams for a smooth, clean fit</li>
<li>Ribbed crew neckline and shoulder tape help retain shape and prevent stretching</li>
<li>Vibrant DTG and DTF printed speedcubing artwork</li>
<li>OEKO-TEX® STANDARD 100 certified</li>
<li>Designed for cubing practice, competitions, casual wear, and speedcubing fans</li>
</ul>
<h3>Care Instructions</h3>
<ul>
<li>Machine wash cold (max 30°C or 90°F) with similar colors</li>
<li>Tumble dry on low heat</li>
<li>Iron, steam, or dry on low heat</li>
<li>Do not bleach</li>
<li>Do not dry clean</li>
</ul>
</div>
<a href="https://shop.justgoodcuber.com/product/29583657" target="_blank" rel="noopener" class="btn-primary">Buy on the Store ↗</a>
</div>
</div>
</section>
<div class="h-rule"></div>
<!-- ═══ RELATED ═══ -->
<section id="related">
<div class="section-label reveal">You Might Also Like</div>
<h2 class="section-title reveal">More Cubing<br/>Gear.</h2>
<div class="related-grid reveal">
<a href="rubiks-cube-tshirt-dnf.html" class="product-card">
<div class="product-card-img"><img src="images/dnf-rubik-relaxing-cube-shirt-t-shirt.jpg" alt="DNF Rubik's Cube t-shirt" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube T-Shirt</span>
<span class="product-card-name">DNF T-Shirt</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-mug-3-hours-later.html" class="product-card">
<div class="product-card-img"><img src="images/ceramic-mug-2-11oz-15oz.jpg" alt="3 Hours Later Rubik's Cube mug" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Mug</span>
<span class="product-card-name">3 Hours Later Mug</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-socks.html" class="product-card">
<div class="product-card-img"><img src="images/sublimation-socks.jpg" alt="Rubik's Cube socks" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Socks</span>
<span class="product-card-name">Rubik's Cube Socks</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
<a href="rubiks-cube-magnet.html" class="product-card">
<div class="product-card-img"><img src="images/magnets.jpg" alt="I Fell For U Rubik's Cube magnet" loading="lazy"/></div>
<div class="product-card-body">
<span class="product-card-cat">Rubik's Cube Magnet</span>
<span class="product-card-name">I Fell For U Magnet</span>
<span class="product-card-link">View Product →</span>
</div>
</a>
</div>
</section>
<div class="h-rule"></div>
<!-- FOOTER -->
<footer>
<div class="footer-logo"><img src="images/logo.png" alt="JustGoodCubing"/></div>
<div class="footer-copy">© 2026 Anshveer Kang. All rights reserved.</div>
</footer>
<script src="index.js" defer></script>
</body>
</html>

43
sitemap.xml Normal file
View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://justgoodcuber.com/</loc>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-mug-auf-victim.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-mug-3-hours-later.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-tshirt-dnf.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-tshirt-speedcuber.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-socks.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-magnet.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://justgoodcuber.com/rubiks-cube-solver-t-shirt.html</loc>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>

View File

@@ -176,6 +176,67 @@ section {
.cube-face.bottom { transform:rotateX(-90deg) translateZ(clamp(75px,10vw,120px)); }
.cubie { border:1px solid rgba(0,0,0,0.3); }
/* ── SHOP GRID (home + related products) ── */
#shop { background: var(--bg); }
.shop-grid, .related-grid {
display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1.4rem;
}
.product-card {
display:flex; flex-direction:column; background:var(--surface);
border:1px solid var(--border); text-decoration:none; color:inherit;
transition:transform 0.2s, border-color 0.2s;
}
.product-card:hover { transform:translateY(-4px); border-color:var(--border-heavy); }
.product-card-img { width:100%; aspect-ratio:1/1; overflow:hidden; background:#fff; border-bottom:1px solid var(--border); }
.product-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.3s; }
.product-card:hover .product-card-img img { transform:scale(1.04); }
.product-card-body { padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:0.3rem; }
.product-card-cat { font-family:'Space Mono',monospace; font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--orange); }
.product-card-name { font-size:1rem; font-weight:700; color:var(--white); line-height:1.3; }
.product-card-link { font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:0.4rem; }
/* ── PRODUCT PAGE ── */
.breadcrumb {
font-family:'Space Mono',monospace; font-size:0.72rem; letter-spacing:0.04em;
color:var(--muted); margin-bottom:2.4rem; text-transform:uppercase;
}
.breadcrumb a { color:var(--muted); text-decoration:none; }
.breadcrumb a:hover { color:var(--orange); }
.product-grid {
display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:start;
}
@media(max-width:820px){ .product-grid { grid-template-columns:1fr; gap:2rem; } }
.product-image-wrap {
background:#fff; border:1px solid var(--border); overflow:hidden;
}
.product-image-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.product-info { display:flex; flex-direction:column; }
.product-title {
font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:900; letter-spacing:-0.02em;
line-height:1.1; margin:0.6rem 0 1rem; color:var(--white);
}
.product-price {
font-family:'Space Mono',monospace; font-size:1.1rem; font-weight:700;
color:var(--white); min-height:1.6rem; margin-bottom:1.2rem;
}
.product-description {
font-size:1rem; line-height:1.75; color:rgba(26,24,21,0.68);
min-height:2rem; margin-bottom:2rem;
}
.product-description p { margin:0 0 1.1rem; }
.product-description p:last-child { margin-bottom:0; }
.product-description h3 {
font-size:1rem; font-weight:700; color:var(--ink,#1a1815);
margin:1.6rem 0 0.7rem; text-transform:uppercase; letter-spacing:0.03em;
}
.product-description ul {
list-style:disc; margin:0 0 1.1rem; padding-left:1.4rem;
}
.product-description li { margin-bottom:0.4rem; }
.product-description li:last-child { margin-bottom:0; }
.product-description strong { color:var(--ink,#1a1815); font-weight:700; }
.product-info .btn-primary { align-self:flex-start; }
/* ── ABOUT ── */
.about-bio-grid {
display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start;