From 9cd5919bd8ca87987d9bb3f735266c2398c6ce9e Mon Sep 17 00:00:00 2001
From: Fuwn <contact@fuwn.net>
Date: Tue, 19 May 2026 01:29:29 +0000
Subject: style(breakpoints): consolidate 9 ad-hoc values into 5 SCSS tokens

Adds src/styles/_breakpoints.scss with five canonical tokens
(\$bp-sm 600, \$bp-md 800, \$bp-lg 1024, \$bp-xl 1280, \$bp-2xl 1600)
and migrates all 15 @media (max-width: ...) occurrences across 9 files.
Configures vite.config.ts with scss loadPaths so any file can
@use "breakpoints" without relative paths.

Conservative rounding-up where existing values were near-duplicates:
500 and 512 collapse to 600, 768 collapses to 800, 1000 collapses to
1024. Slightly more viewports get the smaller-layout treatment in
those bands, which is usually beneficial on cramped widths.

Converts 7 Svelte files from <style> to <style lang="scss"> to access
the SCSS tokens. SCSS is a CSS superset, so existing rules stay valid.
---
 src/lib/LandingHero.svelte | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

(limited to 'src/lib/LandingHero.svelte')

diff --git a/src/lib/LandingHero.svelte b/src/lib/LandingHero.svelte
index 66729335..bec9d1f4 100644
--- a/src/lib/LandingHero.svelte
+++ b/src/lib/LandingHero.svelte
@@ -51,7 +51,9 @@ const scrollPastHero = () => {
   </button>
 </section>
 
-<style>
+<style lang="scss">
+  @use "breakpoints" as *;
+
   .hero {
     min-height: calc(100dvh - 8rem);
     display: flex;
@@ -172,7 +174,7 @@ const scrollPastHero = () => {
     }
   }
 
-  @media (max-width: 600px) {
+  @media (max-width: $bp-sm) {
     .hero {
       min-height: calc(100vh - 6rem);
       padding: 1.5rem;
-- 
cgit v1.2.3

