Initial purple theme implementation - Updated color variables and title styling
This commit is contained in:
parent
7773f91ef7
commit
500cc74ad1
|
|
@ -0,0 +1,57 @@
|
|||
/* Balanced Blue Theme - Saved Color Scheme */
|
||||
:root {
|
||||
/* Color system - Blue accents with neutral backgrounds */
|
||||
--color-primary: #1e90ff;
|
||||
--color-secondary: #0066cc;
|
||||
--color-accent: #4da6ff;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #e0e0e0;
|
||||
--text-tertiary: #b0b0b0;
|
||||
--text-muted: #808080;
|
||||
|
||||
/* Background colors - Neutrals */
|
||||
--bg-primary: #0a0a0a;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-tertiary: #2a2a2a;
|
||||
--bg-card: rgba(42, 42, 42, 0.8);
|
||||
--bg-modal: rgba(26, 26, 26, 0.95);
|
||||
|
||||
/* Border and shadow - Dark grays with blue accents */
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--border-accent: rgba(30, 144, 255, 0.3);
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
--glow-primary: 0 0 20px rgba(30, 144, 255, 0.4);
|
||||
|
||||
/* Font system */
|
||||
--font-xs: 0.75rem;
|
||||
--font-sm: 0.875rem;
|
||||
--font-base: 1rem;
|
||||
--font-lg: 1.125rem;
|
||||
--font-xl: 1.25rem;
|
||||
--font-xxl: 1.5rem;
|
||||
--font-xxxl: 2rem;
|
||||
--font-xxxxl: 3rem;
|
||||
|
||||
/* Spacing system */
|
||||
--space-xs: 0.25rem;
|
||||
--space-sm: 0.5rem;
|
||||
--space-base: 1rem;
|
||||
--space-lg: 1.5rem;
|
||||
--space-xl: 2rem;
|
||||
--space-xxl: 3rem;
|
||||
}
|
||||
|
||||
/* Key styling notes for Balanced Blue Theme:
|
||||
* - Backgrounds: Pure blacks and dark grays for excellent readability
|
||||
* - Borders: Subtle white borders for clean separation
|
||||
* - Blue accents: Professional tech blues - dodger blue, dark blue, light blue
|
||||
* - Hover effects: Blue accent borders and subtle glows
|
||||
* - Title: Clean blue gradient (dodger blue to dark blue) with animated glow
|
||||
* - Progress bars: Professional blue gradient fills
|
||||
* - Overall feel: Tech-sophisticated, clean, trustworthy, modern
|
||||
*/
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/* Balanced Forest Green Theme - Saved Color Scheme */
|
||||
:root {
|
||||
/* Color system - Forest green accents with neutral backgrounds */
|
||||
--color-primary: #228b22;
|
||||
--color-secondary: #006400;
|
||||
--color-accent: #32cd32;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #e0e0e0;
|
||||
--text-tertiary: #b0b0b0;
|
||||
--text-muted: #808080;
|
||||
|
||||
/* Background colors - Neutrals */
|
||||
--bg-primary: #0a0a0a;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-tertiary: #2a2a2a;
|
||||
--bg-card: rgba(42, 42, 42, 0.8);
|
||||
--bg-modal: rgba(26, 26, 26, 0.95);
|
||||
|
||||
/* Border and shadow - Dark grays with forest green accents */
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--border-accent: rgba(34, 139, 34, 0.3);
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
--glow-primary: 0 0 20px rgba(34, 139, 34, 0.4);
|
||||
|
||||
/* Font system */
|
||||
--font-xs: 0.75rem;
|
||||
--font-sm: 0.875rem;
|
||||
--font-base: 1rem;
|
||||
--font-lg: 1.125rem;
|
||||
--font-xl: 1.25rem;
|
||||
--font-xxl: 1.5rem;
|
||||
--font-xxxl: 2rem;
|
||||
--font-xxxxl: 3rem;
|
||||
|
||||
/* Spacing system */
|
||||
--space-xs: 0.25rem;
|
||||
--space-sm: 0.5rem;
|
||||
--space-base: 1rem;
|
||||
--space-lg: 1.5rem;
|
||||
--space-xl: 2rem;
|
||||
--space-xxl: 3rem;
|
||||
}
|
||||
|
||||
/* Key styling notes for Balanced Forest Green Theme:
|
||||
* - Backgrounds: Pure blacks and dark grays for excellent readability
|
||||
* - Borders: Subtle white borders for clean separation
|
||||
* - Forest green accents: Natural, earthy greens - forest green, dark green, lime green
|
||||
* - Hover effects: Forest green accent borders and subtle glows
|
||||
* - Title: Natural forest green gradient with animated glow
|
||||
* - Progress bars: Organic green gradient fills
|
||||
* - Overall feel: Natural, organic, earthy, calming forest environment
|
||||
*/
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/* Balanced Purple Theme - Saved Color Scheme */
|
||||
:root {
|
||||
/* Color system - Purple accents with neutral backgrounds */
|
||||
--color-primary: #8a2be2;
|
||||
--color-secondary: #da70d6;
|
||||
--color-accent: #ba55d3;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #e0e0e0;
|
||||
--text-tertiary: #b0b0b0;
|
||||
--text-muted: #808080;
|
||||
|
||||
/* Background colors - Neutrals with subtle purple hints */
|
||||
--bg-primary: #0a0a0a;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-tertiary: #2a2a2a;
|
||||
--bg-card: rgba(42, 42, 42, 0.8);
|
||||
--bg-modal: rgba(26, 26, 26, 0.95);
|
||||
|
||||
/* Border and shadow - Dark grays with purple accents */
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--border-accent: rgba(138, 43, 226, 0.3);
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
--glow-primary: 0 0 20px rgba(138, 43, 226, 0.4);
|
||||
|
||||
/* Font system */
|
||||
--font-xs: 0.75rem;
|
||||
--font-sm: 0.875rem;
|
||||
--font-base: 1rem;
|
||||
--font-lg: 1.125rem;
|
||||
--font-xl: 1.25rem;
|
||||
--font-xxl: 1.5rem;
|
||||
--font-xxxl: 2rem;
|
||||
--font-xxxxl: 3rem;
|
||||
|
||||
/* Spacing system */
|
||||
--space-xs: 0.25rem;
|
||||
--space-sm: 0.5rem;
|
||||
--space-base: 1rem;
|
||||
--space-lg: 1.5rem;
|
||||
--space-xl: 2rem;
|
||||
--space-xxl: 3rem;
|
||||
}
|
||||
|
||||
/* Key styling notes for Balanced Purple Theme:
|
||||
* - Backgrounds: Pure blacks and dark grays for excellent readability
|
||||
* - Borders: Subtle white borders for clean separation
|
||||
* - Purple accents: Used strategically for buttons, highlights, and interactive elements
|
||||
* - Hover effects: Purple accent borders and subtle glows
|
||||
* - Title: Purple gradient with animated glow
|
||||
* - Progress bars: Purple gradient fills
|
||||
* - Overall feel: Sophisticated, readable, with strategic purple branding
|
||||
*/
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/* Balanced Red/Crimson Theme - Saved Color Scheme (Cool Reds) */
|
||||
:root {
|
||||
/* Color system - Red accents with neutral backgrounds */
|
||||
--color-primary: #dc143c;
|
||||
--color-secondary: #b91c3c;
|
||||
--color-accent: #e53e5a;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #e0e0e0;
|
||||
--text-tertiary: #b0b0b0;
|
||||
--text-muted: #808080;
|
||||
|
||||
/* Background colors - Neutrals */
|
||||
--bg-primary: #0a0a0a;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-tertiary: #2a2a2a;
|
||||
--bg-card: rgba(42, 42, 42, 0.8);
|
||||
--bg-modal: rgba(26, 26, 26, 0.95);
|
||||
|
||||
/* Border and shadow - Dark grays with red accents */
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--border-accent: rgba(220, 20, 60, 0.3);
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
--glow-primary: 0 0 20px rgba(220, 20, 60, 0.4);
|
||||
|
||||
/* Font system */
|
||||
--font-xs: 0.75rem;
|
||||
--font-sm: 0.875rem;
|
||||
--font-base: 1rem;
|
||||
--font-lg: 1.125rem;
|
||||
--font-xl: 1.25rem;
|
||||
--font-xxl: 1.5rem;
|
||||
--font-xxxl: 2rem;
|
||||
--font-xxxxl: 3rem;
|
||||
|
||||
/* Spacing system */
|
||||
--space-xs: 0.25rem;
|
||||
--space-sm: 0.5rem;
|
||||
--space-base: 1rem;
|
||||
--space-lg: 1.5rem;
|
||||
--space-xl: 2rem;
|
||||
--space-xxl: 3rem;
|
||||
}
|
||||
|
||||
/* Key styling notes for Balanced Red/Crimson Theme:
|
||||
* - Backgrounds: Pure blacks and dark grays for excellent readability
|
||||
* - Borders: Subtle white borders for clean separation
|
||||
* - Red accents: Cool reds without orange tones - crimson, dark red, rose red
|
||||
* - Hover effects: Red accent borders and subtle glows
|
||||
* - Title: Cool red gradient (crimson to dark red) with animated glow
|
||||
* - Progress bars: Cool red gradient fills
|
||||
* - Overall feel: Bold, commanding, but balanced with neutral backgrounds
|
||||
*/
|
||||
|
|
@ -1830,24 +1830,8 @@ class InteractiveTaskManager {
|
|||
choicesEl.appendChild(actionBtn);
|
||||
}
|
||||
} else if (step.type === 'mirror-action') {
|
||||
// Handle mirror-based action steps
|
||||
const mirrorBtn = document.createElement('button');
|
||||
mirrorBtn.className = 'scenario-mirror-action';
|
||||
mirrorBtn.innerHTML = `
|
||||
<div class="mirror-action-text">🪞 ${step.actionText || 'Open Webcam Mirror'}</div>
|
||||
<div class="mirror-action-info">Complete the mirror task (${step.duration || 60}s)</div>
|
||||
<div class="mirror-instructions">${step.mirrorInstructions || ''}</div>
|
||||
`;
|
||||
|
||||
mirrorBtn.addEventListener('click', () => {
|
||||
// Create a container for the mirror task
|
||||
const choicesEl = document.getElementById('scenario-choices');
|
||||
if (choicesEl) {
|
||||
this.createMirrorTask(task, choicesEl);
|
||||
}
|
||||
});
|
||||
|
||||
choicesEl.appendChild(mirrorBtn);
|
||||
// Handle mirror-based action steps - create the mirror task directly
|
||||
this.createMirrorTask(task, choicesEl);
|
||||
} else if (step.type === 'text') {
|
||||
// Handle text-only steps that just need a continue button
|
||||
const continueBtn = document.createElement('button');
|
||||
|
|
|
|||
|
|
@ -7,24 +7,33 @@
|
|||
|
||||
/* ===== DESIGN SYSTEM VARIABLES - "ONE GUIDE TO RULE THEM ALL" ===== */
|
||||
:root {
|
||||
/* === COLOR SYSTEM - Balanced Purple Theme === */
|
||||
--color-primary: #8a2be2;
|
||||
--color-secondary: #da70d6;
|
||||
--color-accent: #ba55d3;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* === TEXT COLORS === */
|
||||
--text-primary: #333333; /* Main dark text */
|
||||
--text-secondary: #666666; /* Secondary/muted text */
|
||||
--text-tertiary: #999999; /* Very light text */
|
||||
--text-accent: #007bff; /* Links, actions, highlights */
|
||||
--text-inverse: #ffffff; /* Text on dark backgrounds */
|
||||
--text-primary: #ffffff; /* Main text on dark backgrounds */
|
||||
--text-secondary: #e0e0e0; /* Secondary/muted text */
|
||||
--text-tertiary: #b0b0b0; /* Very light text */
|
||||
--text-muted: #808080; /* Muted text */
|
||||
--text-inverse: #333333; /* Text on light backgrounds */
|
||||
|
||||
/* === BACKGROUND COLORS === */
|
||||
--bg-primary: #ffffff; /* Main content background */
|
||||
--bg-secondary: #f8f9fa; /* Secondary areas, cards */
|
||||
--bg-tertiary: #e9ecef; /* Subtle backgrounds, borders */
|
||||
--bg-accent: #007bff; /* Accent backgrounds */
|
||||
/* === BACKGROUND COLORS - Neutral blacks and grays === */
|
||||
--bg-primary: #0a0a0a; /* Main dark background */
|
||||
--bg-secondary: #1a1a1a; /* Secondary dark background */
|
||||
--bg-tertiary: #2a2a2a; /* Cards and containers */
|
||||
--bg-card: rgba(42, 42, 42, 0.8); /* Translucent cards */
|
||||
--bg-modal: rgba(26, 26, 26, 0.95); /* Modal backgrounds */
|
||||
|
||||
/* === SEMANTIC COLORS === */
|
||||
--color-success: #28a745; /* Success, complete actions */
|
||||
--color-warning: #ffc107; /* Warnings, skip actions */
|
||||
--color-danger: #dc3545; /* Errors, dangerous actions */
|
||||
--color-info: #17a2b8; /* Info, neutral actions */
|
||||
/* === BORDER AND SHADOW === */
|
||||
--border-color: rgba(255, 255, 255, 0.1); /* Subtle white borders */
|
||||
--border-accent: rgba(138, 43, 226, 0.3); /* Purple accent borders */
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3); /* Dark shadows */
|
||||
--glow-primary: 0 0 20px rgba(138, 43, 226, 0.4); /* Purple glow effects */
|
||||
|
||||
/* === FONT SIZES === */
|
||||
--font-xs: 0.75rem; /* 12px - Very small text */
|
||||
|
|
@ -32,16 +41,25 @@
|
|||
--font-base: 1rem; /* 16px - Base body text */
|
||||
--font-lg: 1.125rem; /* 18px - Large text */
|
||||
--font-xl: 1.25rem; /* 20px - Subheadings */
|
||||
--font-xxl: 2.5rem; /* 40px - Main headings */
|
||||
--font-xxl: 1.5rem; /* 24px - Large headings */
|
||||
--font-xxxl: 2rem; /* 32px - Major headings */
|
||||
--font-xxxxl: 3rem; /* 48px - Title headings */
|
||||
|
||||
/* === SPACING SYSTEM (4px base grid) === */
|
||||
--space-xs: 0.25rem; /* 4px */
|
||||
--space-sm: 0.5rem; /* 8px */
|
||||
--space-md: 1rem; /* 16px */
|
||||
--space-base: 1rem; /* 16px */
|
||||
--space-lg: 1.5rem; /* 24px */
|
||||
--space-xl: 2rem; /* 32px */
|
||||
--space-xxl: 3rem; /* 48px */
|
||||
|
||||
/* === INTERLUDE SYSTEM (for webcam mirror, focus sessions) === */
|
||||
--interlude-bg: rgba(42, 42, 42, 0.95); /* Dark overlay background */
|
||||
--interlude-text-primary: #e0e0e0; /* Primary text in interlude */
|
||||
--interlude-text-secondary: #b0b0b0; /* Secondary text in interlude */
|
||||
--interlude-accent: #8a2be2; /* Purple accent color */
|
||||
--interlude-button-bg: linear-gradient(135deg, #8a2be2, #da70d6); /* Button gradient */
|
||||
|
||||
/* === BORDER RADIUS === */
|
||||
--radius-sm: 4px; /* Small elements */
|
||||
--radius-md: 8px; /* Cards, buttons */
|
||||
|
|
@ -65,8 +83,9 @@
|
|||
}
|
||||
|
||||
body {
|
||||
font-family: 'Arial', sans-serif;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 50%, var(--bg-primary) 100%);
|
||||
color: var(--text-primary);
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -74,9 +93,10 @@ body {
|
|||
}
|
||||
|
||||
.game-container {
|
||||
background: white;
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: var(--shadow-primary);
|
||||
width: 95%;
|
||||
max-width: 1400px; /* Increased from 800px for larger screens */
|
||||
min-width: 780px; /* Ensure minimum usable width */
|
||||
|
|
@ -99,13 +119,19 @@ body {
|
|||
|
||||
.game-header h1 {
|
||||
font-family: 'Audiowide', cursive;
|
||||
font-size: 2.5em;
|
||||
font-size: var(--font-xxxxl);
|
||||
margin: 0;
|
||||
background: linear-gradient(45deg, #dc143c, #ff6347);
|
||||
background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
text-shadow: 0 0 20px rgba(220, 20, 60, 0.5);
|
||||
text-shadow: 0 0 30px rgba(138, 43, 226, 0.7);
|
||||
animation: titleGlow 2s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes titleGlow {
|
||||
from { filter: drop-shadow(0 0 5px rgba(138, 43, 226, 0.5)); }
|
||||
to { filter: drop-shadow(0 0 15px rgba(138, 43, 226, 0.9)); }
|
||||
}
|
||||
|
||||
.tagline {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,413 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Theme Mockup - Balanced Green</title>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Audiowide:wght@400&display=swap" rel="stylesheet">
|
||||
<style>
|
||||
/* Balanced Green Color Variables */
|
||||
:root {
|
||||
/* Color system - Forest green accents with neutral backgrounds */
|
||||
--color-primary: #228b22;
|
||||
--color-secondary: #006400;
|
||||
--color-accent: #32cd32;
|
||||
--color-success: #28a745;
|
||||
--color-warning: #ffc107;
|
||||
--color-danger: #dc3545;
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: #ffffff;
|
||||
--text-secondary: #e0e0e0;
|
||||
--text-tertiary: #b0b0b0;
|
||||
--text-muted: #808080;
|
||||
|
||||
/* Background colors - Neutrals with subtle purple hints */
|
||||
--bg-primary: #0a0a0a;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-tertiary: #2a2a2a;
|
||||
--bg-card: rgba(42, 42, 42, 0.8);
|
||||
--bg-modal: rgba(26, 26, 26, 0.95);
|
||||
|
||||
/* Border and shadow - Dark grays with forest green accents */
|
||||
--border-color: rgba(255, 255, 255, 0.1);
|
||||
--border-accent: rgba(34, 139, 34, 0.3);
|
||||
--shadow-primary: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
--glow-primary: 0 0 20px rgba(34, 139, 34, 0.4);
|
||||
|
||||
/* Font system */
|
||||
--font-xs: 0.75rem;
|
||||
--font-sm: 0.875rem;
|
||||
--font-base: 1rem;
|
||||
--font-lg: 1.125rem;
|
||||
--font-xl: 1.25rem;
|
||||
--font-xxl: 1.5rem;
|
||||
--font-xxxl: 2rem;
|
||||
--font-xxxxl: 3rem;
|
||||
|
||||
/* Spacing system */
|
||||
--space-xs: 0.25rem;
|
||||
--space-sm: 0.5rem;
|
||||
--space-base: 1rem;
|
||||
--space-lg: 1.5rem;
|
||||
--space-xl: 2rem;
|
||||
--space-xxl: 3rem;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 50%, var(--bg-primary) 100%);
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
color: var(--text-primary);
|
||||
min-height: 100vh;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
.header {
|
||||
text-align: center;
|
||||
padding: var(--space-xl) var(--space-base);
|
||||
background: linear-gradient(180deg, var(--bg-secondary) 0%, transparent 100%);
|
||||
}
|
||||
|
||||
.game-title {
|
||||
font-family: 'Audiowide', cursive;
|
||||
font-size: var(--font-xxxxl);
|
||||
background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-clip: text;
|
||||
text-shadow: 0 0 30px rgba(34, 139, 34, 0.7);
|
||||
margin-bottom: var(--space-base);
|
||||
animation: titleGlow 2s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes titleGlow {
|
||||
from { filter: drop-shadow(0 0 5px rgba(34, 139, 34, 0.5)); }
|
||||
to { filter: drop-shadow(0 0 15px rgba(34, 139, 34, 0.9)); }
|
||||
}
|
||||
|
||||
.game-tagline {
|
||||
font-family: 'Audiowide', cursive;
|
||||
font-size: var(--font-lg);
|
||||
color: var(--color-accent);
|
||||
margin-bottom: var(--space-xl);
|
||||
}
|
||||
|
||||
/* Main container */
|
||||
.main-container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--space-base);
|
||||
}
|
||||
|
||||
/* Stats section */
|
||||
.stats-section {
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 12px;
|
||||
padding: var(--space-lg);
|
||||
margin-bottom: var(--space-xl);
|
||||
box-shadow: var(--shadow-primary);
|
||||
}
|
||||
|
||||
.stats-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: var(--space-lg);
|
||||
}
|
||||
|
||||
.stat-card {
|
||||
background: var(--bg-tertiary);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
padding: var(--space-base);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.stat-value {
|
||||
font-size: var(--font-xxl);
|
||||
font-weight: bold;
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-xs);
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
font-size: var(--font-sm);
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* Navigation buttons */
|
||||
.nav-section {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||
gap: var(--space-lg);
|
||||
margin-bottom: var(--space-xl);
|
||||
}
|
||||
|
||||
.nav-button {
|
||||
background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
|
||||
border: none;
|
||||
border-radius: 12px;
|
||||
padding: var(--space-lg);
|
||||
color: var(--text-primary);
|
||||
font-size: var(--font-lg);
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
box-shadow: var(--shadow-primary);
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.nav-button:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: var(--glow-primary);
|
||||
background: linear-gradient(135deg, var(--color-secondary), var(--color-accent));
|
||||
}
|
||||
|
||||
.nav-button:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Progress section */
|
||||
.progress-section {
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 12px;
|
||||
padding: var(--space-lg);
|
||||
margin-bottom: var(--space-xl);
|
||||
box-shadow: var(--shadow-primary);
|
||||
}
|
||||
|
||||
.progress-title {
|
||||
font-size: var(--font-xl);
|
||||
color: var(--text-primary);
|
||||
margin-bottom: var(--space-base);
|
||||
}
|
||||
|
||||
.progress-bar {
|
||||
background: var(--bg-tertiary);
|
||||
border-radius: 20px;
|
||||
height: 12px;
|
||||
overflow: hidden;
|
||||
margin-bottom: var(--space-base);
|
||||
}
|
||||
|
||||
.progress-fill {
|
||||
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
|
||||
height: 100%;
|
||||
width: 65%;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 0 10px rgba(220, 20, 60, 0.5);
|
||||
animation: progressPulse 2s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes progressPulse {
|
||||
from { box-shadow: 0 0 5px rgba(34, 139, 34, 0.3); }
|
||||
to { box-shadow: 0 0 15px rgba(34, 139, 34, 0.7); }
|
||||
}
|
||||
|
||||
.progress-text {
|
||||
font-size: var(--font-sm);
|
||||
color: var(--text-secondary);
|
||||
}
|
||||
|
||||
/* Recent activity */
|
||||
.activity-section {
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 12px;
|
||||
padding: var(--space-lg);
|
||||
box-shadow: var(--shadow-primary);
|
||||
}
|
||||
|
||||
.activity-title {
|
||||
font-size: var(--font-xl);
|
||||
color: var(--text-primary);
|
||||
margin-bottom: var(--space-base);
|
||||
}
|
||||
|
||||
.activity-item {
|
||||
background: var(--bg-tertiary);
|
||||
border: 1px solid var(--border-color);
|
||||
border-radius: 8px;
|
||||
padding: var(--space-base);
|
||||
margin-bottom: var(--space-sm);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.activity-item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* Add forest green accent to important elements */
|
||||
.stat-card:hover {
|
||||
border-color: var(--border-accent);
|
||||
box-shadow: 0 0 10px rgba(34, 139, 34, 0.2);
|
||||
}
|
||||
|
||||
.activity-item:hover {
|
||||
border-color: var(--border-accent);
|
||||
}
|
||||
|
||||
.activity-text {
|
||||
color: var(--text-secondary);
|
||||
font-size: var(--font-sm);
|
||||
}
|
||||
|
||||
.activity-time {
|
||||
color: var(--text-muted);
|
||||
font-size: var(--font-xs);
|
||||
}
|
||||
|
||||
/* Footer info */
|
||||
.footer-info {
|
||||
text-align: center;
|
||||
padding: var(--space-xl);
|
||||
color: var(--text-tertiary);
|
||||
font-size: var(--font-sm);
|
||||
}
|
||||
|
||||
/* Theme showcase banner */
|
||||
.theme-banner {
|
||||
background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
|
||||
border-radius: 12px;
|
||||
padding: var(--space-lg);
|
||||
margin-bottom: var(--space-xl);
|
||||
text-align: center;
|
||||
box-shadow: var(--glow-primary);
|
||||
animation: bannerPulse 3s ease-in-out infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes bannerPulse {
|
||||
from { box-shadow: 0 0 15px rgba(34, 139, 34, 0.4); }
|
||||
to { box-shadow: 0 0 25px rgba(34, 139, 34, 0.8); }
|
||||
}
|
||||
|
||||
.theme-banner h2 {
|
||||
font-size: var(--font-xxl);
|
||||
margin-bottom: var(--space-sm);
|
||||
}
|
||||
|
||||
.theme-banner p {
|
||||
font-size: var(--font-base);
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
/* Responsive design */
|
||||
@media (max-width: 768px) {
|
||||
.game-title {
|
||||
font-size: var(--font-xxxl);
|
||||
}
|
||||
|
||||
.nav-section {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.stats-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.game-title {
|
||||
font-size: var(--font-xxl);
|
||||
}
|
||||
|
||||
.stats-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<h1 class="game-title">GOONER TRAINING ACADEMY</h1>
|
||||
<p class="game-tagline">Master Your Dedication</p>
|
||||
</div>
|
||||
|
||||
<div class="main-container">
|
||||
<!-- Theme showcase banner -->
|
||||
<div class="theme-banner">
|
||||
<h2>🌲 Balanced Forest Green Theme</h2>
|
||||
<p>Natural forest green accents with neutral black/gray backgrounds - Organic, earthy feel</p>
|
||||
</div>
|
||||
|
||||
<!-- Stats section -->
|
||||
<div class="stats-section">
|
||||
<div class="stats-grid">
|
||||
<div class="stat-card">
|
||||
<div class="stat-value">42</div>
|
||||
<div class="stat-label">Sessions Completed</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="stat-value">18h 32m</div>
|
||||
<div class="stat-label">Total Training Time</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="stat-value">Level 7</div>
|
||||
<div class="stat-label">Current Rank</div>
|
||||
</div>
|
||||
<div class="stat-card">
|
||||
<div class="stat-value">95%</div>
|
||||
<div class="stat-label">Dedication Score</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Navigation buttons -->
|
||||
<div class="nav-section">
|
||||
<button class="nav-button">🎯 Start Training Session</button>
|
||||
<button class="nav-button">📚 Browse Content</button>
|
||||
<button class="nav-button">🏆 View Achievements</button>
|
||||
<button class="nav-button">⚙️ Settings & Preferences</button>
|
||||
<button class="nav-button">📊 Progress Analytics</button>
|
||||
<button class="nav-button">🎪 Interactive Tasks</button>
|
||||
</div>
|
||||
|
||||
<!-- Progress section -->
|
||||
<div class="progress-section">
|
||||
<h3 class="progress-title">Current Progress</h3>
|
||||
<div class="progress-bar">
|
||||
<div class="progress-fill"></div>
|
||||
</div>
|
||||
<p class="progress-text">65% through Intermediate Training Module</p>
|
||||
</div>
|
||||
|
||||
<!-- Recent activity -->
|
||||
<div class="activity-section">
|
||||
<h3 class="activity-title">Recent Activity</h3>
|
||||
<div class="activity-item">
|
||||
<span class="activity-text">Completed Focus Session: Advanced Techniques</span>
|
||||
<span class="activity-time">2 hours ago</span>
|
||||
</div>
|
||||
<div class="activity-item">
|
||||
<span class="activity-text">Achievement Unlocked: Dedication Master</span>
|
||||
<span class="activity-time">Yesterday</span>
|
||||
</div>
|
||||
<div class="activity-item">
|
||||
<span class="activity-text">Training Session: Endurance Building</span>
|
||||
<span class="activity-time">2 days ago</span>
|
||||
</div>
|
||||
<div class="activity-item">
|
||||
<span class="activity-text">Mirror Task: Self-Reflection Exercise</span>
|
||||
<span class="activity-time">3 days ago</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer-info">
|
||||
<p>This is a mockup of Balanced Forest Green Theme applied to your game's main screen</p>
|
||||
<p>Notice the neutral black/gray backgrounds with natural forest greens used only for accents, buttons, and highlights</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue