013
LVL 01 — WAVE DEFENDER SESSION 013 DAY 13

LOOKS LIKE 1996

🎫 PIXELCRAFT-003
🎨 Design | 🟢 Beginner | Priority: 🟡 Medium

The HTML structure is correct but there's zero styling. Times New Roman font, everything white, no spacing. Apply PixelCraft's brand: dark theme, proper fonts, button styles, and spacing.

Design Specs:
• Background: #0a0a1a (near black) • Toolbar: #1a1a2e • Buttons: #16213e, hover: #0f3460
• Text: #e0e0e0 • Accent: #00b4d8 • Font: system-ui, -apple-system, sans-serif
CONCEPTS.UNLOCKED
🎨
What CSS Is & How It Connects
The language that controls how HTML looks. Connected via <link rel="stylesheet" href="styles/main.css">. HTML = structure, CSS = presentation.
{ }
Syntax & Selectors
selector { property: value; } — target an element, set a property. Selectors: element (button), class (.tool-btn), id (#toolbar), combined (nav .tool-btn).
Aa
Colors & Typography
Colors: hex (#1a1a2e), rgb (rgb(26,26,46)), hsl, named. Typography: font-family, font-size, font-weight, line-height, color.
📦
The Box Model
Every element is a box: content → padding → border → margin. Padding is space inside the box. Margin is space outside. Borders and border-radius (rounded corners) define the edge.
🖼
Backgrounds & Borders
background-color, background-image. border (width, style, color), border-radius (rounded corners — 50% turns a square into a circle!).
Pseudo-classes
:hover (mouse over), :active (clicking), :focus (selected via keyboard). Style interactive states — make buttons feel alive and responsive.
HANDS-ON.TASKS
01
Apply the Dark Theme

Open src/styles/main.css and the app in the browser side-by-side:

* { margin: 0; padding: 0; box-sizing: border-box; } body { background-color: #0a0a1a; color: #e0e0e0; font-family: system-ui, -apple-system, sans-serif; font-size: 14px; line-height: 1.5; }
The * selector targets every element. box-sizing: border-box makes width and height include padding and border — without it, a 100px box with 10px padding becomes 120px wide.
02
Style the Toolbar
.toolbar { background-color: #1a1a2e; padding: 8px; } .tool-btn { background-color: #16213e; color: #e0e0e0; border: 1px solid #2a2a4a; border-radius: 6px; padding: 8px 12px; cursor: pointer; font-size: 13px; } .tool-btn:hover { background-color: #0f3460; border-color: #00b4d8; } .tool-btn:active { transform: scale(0.97); }
03
Inspect the Box Model in DevTools

Open DevTools → select a button → see the Box Model diagram (content/padding/border/margin):

LayerColor in DevToolsWhat It Is
ContentBlueThe actual text/image inside
PaddingGreenSpace between content and border
BorderYellowThe visible edge
MarginOrangeSpace outside the border
04
Experiment in DevTools

In DevTools Styles panel, live-edit values. Change colors, adjust padding, try different fonts.

Try these experiments:

ExperimentWhat Happens
margin: -10pxElements overlap — negative margins pull things closer
padding: 50%Padding calculated as % of parent width — creates a square
border-radius: 50%Turns any square element into a perfect circle!
DevTools is your CSS playground. Every change is instant and temporary — refresh to reset. Professional developers prototype in DevTools before writing code.
05
Style the Settings Panel

Style the section headers, labels, and range inputs to match the dark theme:

.settings-panel { background-color: #1a1a2e; padding: 16px; } .settings-panel h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: #a0a0b0; margin-bottom: 16px; }
06
Close the Ticket
git switch -c design/PIXELCRAFT-003-dark-theme git add src/styles/main.css git commit -m "Apply dark theme and button styles (PIXELCRAFT-003)" git push origin design/PIXELCRAFT-003-dark-theme # PR → Review → Merge → Close ticket ✅
CS.DEEP-DIVE

Declarative vs imperative programming.

CSS is declarative: you say "make this blue" and the browser figures out HOW (which pixels to change, when to repaint). JavaScript is imperative: you say "step 1, step 2, step 3."

// Declarative: say WHAT you want

CSS  → "make this blue"
SQL  → "give me all users over 18"

// Imperative: say HOW to do it

JS   → "step 1: find element.
       step 2: set color property.
       step 3: trigger repaint."

// The distinction matters because declarative
// languages let you focus on WHAT you want,
// while the system optimizes the HOW.
// Different problems favor different paradigms.
"Theme Variants"
[A] Create a light theme variant of PixelCraft — swap backgrounds, text colors, and border colors. Keep the same layout.
[B] Style 3 different button states: default, hover, active, disabled. Each should be visually distinct.
[C] Recreate a UI element from a real app (Spotify play button, GitHub merge button) using only CSS.
REF.MATERIAL
ARTICLE
Mozilla Developer Network
The gold-standard CSS introduction: syntax, selectors, properties, the cascade. Start here.
CSSMDNBEGINNER
VIDEO
Web Dev Simplified
Rapid introduction covering selectors, the box model, colors, typography, and pseudo-classes.
CSSQUICK
VIDEO
Kevin Powell
The box model demystified: content, padding, border, margin, and why box-sizing: border-box is essential.
BOX MODELFUNDAMENTALS
TOOL
cssgradient.io
Visual tool for creating CSS gradients. Useful for backgrounds and button effects.
GRADIENTSVISUAL TOOL
TOOL
Coolors
Generate harmonious color palettes. Press spacebar for random palettes. Essential for any design work.
COLORSDESIGN
// LEAVE EXCITED BECAUSE
The app went from ugly Times New Roman to a sleek dark-themed editor. CSS gives instant visual feedback — change a value, see the result immediately. You now understand that every pixel on every website is just boxes with rules.