Homepage (site/index.html): integration-v14 promoted, Writings section integrated with 33 pieces clustered by type (stories/essays/miscellany), Writings welcome lightbox, content frame at 98% opacity. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1592 lines
56 KiB
HTML
1592 lines
56 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Bubblicorn Style Reference | E-Girl Aesthetic 🦄✨</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;500;600;700&family=Noto+Emoji:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
|
<style>
|
|
/* ============================================
|
|
BUBBLICORN STYLE REFERENCE
|
|
E-Girl Aesthetic | Rounded Corners | Pastel Vibes
|
|
============================================ */
|
|
|
|
/* ===== 1. CSS RESET ===== */
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* ===== 2. CSS VARIABLES ===== */
|
|
:root {
|
|
/* --- BACKGROUND GRADIENT ---
|
|
4-stop vertical gradient for page background */
|
|
--bg-gradient-1: #1a0a1f; /* Deep purple */
|
|
--bg-gradient-2: #2d1435; /* Dark magenta */
|
|
--bg-gradient-3: #0f1a2a; /* Dark blue */
|
|
--bg-gradient-4: #0a1f1f; /* Deep teal */
|
|
|
|
/* --- SURFACE BACKGROUNDS --- */
|
|
--bg-elevated: rgba(255,182,255,0.06); /* Subtle pink lift */
|
|
--bg-card: rgba(255,182,255,0.18); /* Standard cards */
|
|
--bg-darker: rgba(102,0,153,0.25); /* Nested in elevated */
|
|
--bg-solid-dark: #1a0a1f; /* Opaque dark */
|
|
--bg-solid-header: #2d1435; /* Opaque magenta */
|
|
|
|
/* --- BORDERS --- */
|
|
--border-color: #FF69B4;
|
|
--border-width: 2px;
|
|
--border-width-thick: 4px;
|
|
|
|
/* --- BORDER RADIUS --- */
|
|
--radius-sm: 8px;
|
|
--radius-md: 12px;
|
|
--radius-lg: 16px;
|
|
--radius-xl: 20px;
|
|
--radius-full: 9999px;
|
|
|
|
/* --- GLOW SYSTEM ---
|
|
Bubblegum: Primary actions, highlights
|
|
Sparkle: Success, achievements
|
|
Neon: Warnings, attention */
|
|
--glow-bubblegum-1: #FF69B4; /* Hot pink */
|
|
--glow-bubblegum-2: #FF1493; /* Deep pink */
|
|
--glow-sparkle-1: #B0FFE8; /* Mint */
|
|
--glow-sparkle-2: #00FFFF; /* Cyan */
|
|
--glow-neon-1: #FF10F0; /* Neon pink */
|
|
--glow-neon-2: #FFE66D; /* Sparkle yellow */
|
|
|
|
/* --- TYPOGRAPHY COLORS --- */
|
|
--text-primary: #FFE6FF;
|
|
--text-white: #FFFFFF;
|
|
--text-h1-gradient: linear-gradient(135deg, #FF1493 0%, #E6B3FF 25%, #00FFFF 50%, #E6B3FF 75%, #FF1493 100%);
|
|
--text-h2: #FF69B4; /* Hot pink */
|
|
--text-h3: #E6B3FF; /* Lavender */
|
|
--text-h4: #B0FFE8; /* Mint */
|
|
--text-h5: #CCCCFF; /* Periwinkle */
|
|
--text-h6: #FFE6FF; /* Primary */
|
|
|
|
/* --- BUTTON GRADIENTS --- */
|
|
--btn-special-gradient: linear-gradient(135deg, #FF1493 0%, #E6B3FF 50%, #00FFFF 100%);
|
|
--btn-default-gradient: linear-gradient(180deg, #FF69B4 0%, #E6B3FF 50%, #00FFFF 100%);
|
|
|
|
/* --- FONTS --- */
|
|
--font-header: 'Quicksand', sans-serif;
|
|
--font-body: 'Nunito', 'Noto Emoji', sans-serif;
|
|
--font-mono: 'JetBrains Mono', monospace;
|
|
}
|
|
|
|
/* ===== 3. BASE STYLES ===== */
|
|
body {
|
|
font-family: var(--font-body);
|
|
background: linear-gradient(180deg,
|
|
var(--bg-gradient-1) 0%,
|
|
var(--bg-gradient-2) 33%,
|
|
var(--bg-gradient-3) 66%,
|
|
var(--bg-gradient-4) 100%);
|
|
background-attachment: fixed;
|
|
color: var(--text-primary);
|
|
line-height: 1.7;
|
|
min-height: 100vh;
|
|
padding: 20px;
|
|
}
|
|
|
|
/* ===== 4. LAYOUT ===== */
|
|
.container {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.grid {
|
|
display: grid;
|
|
gap: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
|
|
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
|
|
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
|
|
|
|
/* ===== 5. TYPOGRAPHY ===== */
|
|
h1 {
|
|
font-size: clamp(2rem, 5vw, 3rem);
|
|
font-weight: 700;
|
|
margin-bottom: 1rem;
|
|
background: var(--text-h1-gradient);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
h2 {
|
|
font-size: clamp(1.5rem, 4vw, 2rem);
|
|
font-weight: 700;
|
|
color: var(--text-h2);
|
|
margin-bottom: 1rem;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
h3 {
|
|
font-size: clamp(1.25rem, 3vw, 1.5rem);
|
|
font-weight: 600;
|
|
color: var(--text-h3);
|
|
margin-bottom: 0.75rem;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
h4 {
|
|
font-size: clamp(1.1rem, 2.5vw, 1.25rem);
|
|
font-weight: 600;
|
|
color: var(--text-h4);
|
|
margin-bottom: 0.75rem;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
h5 {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
color: var(--text-h5);
|
|
margin-bottom: 0.5rem;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
h6 {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
color: var(--text-h6);
|
|
margin-bottom: 0.5rem;
|
|
font-family: var(--font-header);
|
|
}
|
|
|
|
p {
|
|
margin-bottom: 1rem;
|
|
line-height: 1.8;
|
|
}
|
|
|
|
strong {
|
|
color: var(--glow-bubblegum-1);
|
|
font-weight: 600;
|
|
}
|
|
|
|
em {
|
|
color: var(--glow-sparkle-1);
|
|
font-style: italic;
|
|
}
|
|
|
|
code {
|
|
font-family: var(--font-mono);
|
|
background: var(--bg-elevated);
|
|
padding: 0.2rem 0.4rem;
|
|
border: 1px solid var(--border-color);
|
|
border-radius: var(--radius-sm);
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
pre {
|
|
font-family: var(--font-mono);
|
|
background: var(--bg-elevated);
|
|
padding: 1rem;
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
overflow-x: auto;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
pre code {
|
|
background: transparent;
|
|
border: none;
|
|
padding: 0;
|
|
}
|
|
|
|
blockquote {
|
|
background: var(--bg-elevated);
|
|
border-left: 4px solid var(--glow-bubblegum-1);
|
|
border-radius: var(--radius-md);
|
|
padding: 1rem 1.5rem;
|
|
margin: 1.5rem 0;
|
|
font-style: italic;
|
|
}
|
|
|
|
ul, ol {
|
|
margin-bottom: 1.5rem;
|
|
margin-left: 2rem;
|
|
}
|
|
|
|
ul li, ol li {
|
|
margin-bottom: 0.5rem;
|
|
line-height: 1.7;
|
|
}
|
|
|
|
dl {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
dt {
|
|
font-weight: 600;
|
|
color: var(--glow-bubblegum-1);
|
|
margin-top: 1rem;
|
|
}
|
|
|
|
dd {
|
|
margin-left: 2rem;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
/* ===== BUTTONS ===== */
|
|
.btn {
|
|
display: inline-block;
|
|
padding: 0.875rem 2rem;
|
|
text-decoration: none;
|
|
font-weight: 600;
|
|
font-size: 1rem;
|
|
transition: transform 0.3s, box-shadow 0.3s;
|
|
cursor: pointer;
|
|
border: var(--border-width) solid var(--border-color);
|
|
font-family: var(--font-body);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.btn-special {
|
|
background: var(--btn-special-gradient);
|
|
color: var(--text-white);
|
|
box-shadow: 0 4px 14px rgba(255, 20, 147, 0.4), 0 0 20px rgba(255, 105, 180, 0.3);
|
|
border: none;
|
|
}
|
|
|
|
.btn-special:hover {
|
|
transform: translateY(-4px) scale(1.05);
|
|
box-shadow: 0 8px 24px rgba(255, 20, 147, 0.6), 0 0 30px rgba(255, 105, 180, 0.5);
|
|
}
|
|
|
|
.btn-default {
|
|
background: var(--text-primary);
|
|
color: var(--bg-solid-dark);
|
|
border-color: var(--glow-bubblegum-1);
|
|
}
|
|
|
|
.btn-default:hover {
|
|
transform: translateY(-2px) scale(1.03);
|
|
box-shadow: 0 4px 12px rgba(255, 105, 180, 0.4);
|
|
}
|
|
|
|
.btn-nav {
|
|
background: transparent;
|
|
color: var(--text-primary);
|
|
border-color: var(--glow-sparkle-1);
|
|
}
|
|
|
|
.btn-nav:hover {
|
|
border-color: var(--glow-bubblegum-1);
|
|
background: rgba(255, 105, 180, 0.1);
|
|
}
|
|
|
|
.btn-sparkle {
|
|
background: var(--bg-solid-dark);
|
|
color: var(--text-primary);
|
|
border-color: var(--glow-sparkle-1);
|
|
box-shadow: 0 0 20px rgba(176, 255, 232, 0.4);
|
|
}
|
|
|
|
.btn-sparkle:hover {
|
|
transform: translateY(-2px) scale(1.03);
|
|
box-shadow: 0 0 30px rgba(176, 255, 232, 0.6);
|
|
}
|
|
|
|
.btn-neon {
|
|
background: var(--bg-solid-dark);
|
|
color: var(--text-primary);
|
|
border-color: var(--glow-neon-1);
|
|
box-shadow: 0 0 20px rgba(255, 16, 240, 0.4);
|
|
}
|
|
|
|
.btn-neon:hover {
|
|
transform: translateY(-2px) scale(1.03);
|
|
box-shadow: 0 0 30px rgba(255, 16, 240, 0.6);
|
|
}
|
|
|
|
/* ===== CARDS & PANELS ===== */
|
|
.card {
|
|
background: var(--bg-card);
|
|
backdrop-filter: blur(10px);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
padding: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.card-elevated {
|
|
background: var(--bg-elevated);
|
|
backdrop-filter: blur(10px);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
padding: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.card-solid {
|
|
background: var(--bg-solid-header);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
padding: 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.card-glow-bubblegum {
|
|
box-shadow: 0 0 30px rgba(255, 105, 180, 0.5), 0 0 60px rgba(255, 20, 147, 0.3);
|
|
}
|
|
|
|
.card-glow-sparkle {
|
|
box-shadow: 0 0 30px rgba(176, 255, 232, 0.5), 0 0 60px rgba(0, 255, 255, 0.3);
|
|
}
|
|
|
|
.card-glow-neon {
|
|
box-shadow: 0 0 30px rgba(255, 16, 240, 0.5), 0 0 60px rgba(255, 230, 109, 0.3);
|
|
}
|
|
|
|
.card-kawaii {
|
|
background: rgba(255, 255, 255, 0.92);
|
|
border: var(--border-width-thick) solid transparent;
|
|
border-image: linear-gradient(135deg, #FF69B4 0%, #E6B3FF 50%, #00FFFF 100%) 1;
|
|
border-radius: var(--radius-xl);
|
|
color: #2d1435;
|
|
padding: 2rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.card-kawaii h1,
|
|
.card-kawaii h2,
|
|
.card-kawaii h3,
|
|
.card-kawaii h4,
|
|
.card-kawaii h5,
|
|
.card-kawaii h6 {
|
|
color: #8B008B;
|
|
background: none;
|
|
-webkit-text-fill-color: #8B008B;
|
|
}
|
|
|
|
.card-kawaii p,
|
|
.card-kawaii li,
|
|
.card-kawaii td,
|
|
.card-kawaii dd {
|
|
color: #2d1435;
|
|
}
|
|
|
|
.card-kawaii strong {
|
|
color: #FF1493;
|
|
}
|
|
|
|
.card-kawaii em {
|
|
color: #00CED1;
|
|
}
|
|
|
|
.card-kawaii code {
|
|
background: rgba(255, 105, 180, 0.15);
|
|
border-color: #FF69B4;
|
|
color: #8B008B;
|
|
}
|
|
|
|
/* ===== TABLES ===== */
|
|
table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
margin-bottom: 1.5rem;
|
|
background: var(--bg-card);
|
|
overflow: hidden;
|
|
}
|
|
|
|
thead {
|
|
background: var(--bg-solid-header);
|
|
color: var(--text-white);
|
|
}
|
|
|
|
th {
|
|
padding: 1rem;
|
|
text-align: left;
|
|
font-weight: 600;
|
|
border: 1px solid var(--border-color);
|
|
}
|
|
|
|
td {
|
|
padding: 0.875rem 1rem;
|
|
border: 1px solid var(--border-color);
|
|
}
|
|
|
|
tbody tr:nth-child(odd) {
|
|
background: var(--bg-elevated);
|
|
}
|
|
|
|
tbody tr:nth-child(even) {
|
|
background: rgba(255,182,255,0.1);
|
|
}
|
|
|
|
tbody tr:hover {
|
|
background: rgba(255, 105, 180, 0.15);
|
|
}
|
|
|
|
.card-elevated tbody tr:nth-child(odd),
|
|
.tab-content tbody tr:nth-child(odd) {
|
|
background: var(--bg-darker);
|
|
}
|
|
|
|
.card-elevated tbody tr:nth-child(even),
|
|
.tab-content tbody tr:nth-child(even) {
|
|
background: rgba(102,0,153,0.15);
|
|
}
|
|
|
|
tfoot {
|
|
background: var(--bg-solid-header);
|
|
color: var(--text-white);
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ===== FORMS ===== */
|
|
.form-group {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
label {
|
|
display: block;
|
|
margin-bottom: 0.5rem;
|
|
font-weight: 600;
|
|
color: var(--glow-bubblegum-1);
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
input[type="text"],
|
|
input[type="email"],
|
|
input[type="password"],
|
|
input[type="number"],
|
|
input[type="url"],
|
|
input[type="tel"],
|
|
input[type="search"],
|
|
input[type="date"],
|
|
input[type="time"],
|
|
textarea,
|
|
select {
|
|
width: 100%;
|
|
padding: 0.75rem;
|
|
background: var(--bg-elevated);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
color: var(--text-primary);
|
|
font-family: var(--font-body);
|
|
font-size: 1rem;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
input:focus,
|
|
textarea:focus,
|
|
select:focus {
|
|
outline: none;
|
|
border-color: var(--glow-bubblegum-1);
|
|
box-shadow: 0 0 0 3px rgba(255, 105, 180, 0.3);
|
|
}
|
|
|
|
textarea {
|
|
min-height: 120px;
|
|
resize: vertical;
|
|
}
|
|
|
|
input[type="checkbox"],
|
|
input[type="radio"] {
|
|
width: 1.25rem;
|
|
height: 1.25rem;
|
|
margin-right: 0.5rem;
|
|
cursor: pointer;
|
|
}
|
|
|
|
input[type="checkbox"] {
|
|
accent-color: var(--glow-bubblegum-1);
|
|
}
|
|
|
|
.checkbox-group,
|
|
.radio-group {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 0.75rem;
|
|
}
|
|
|
|
/* ===== PROGRESS BARS ===== */
|
|
progress {
|
|
-webkit-appearance: none;
|
|
appearance: none;
|
|
width: 100%;
|
|
height: 2rem;
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
progress::-webkit-progress-bar {
|
|
background-color: var(--bg-elevated);
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
progress::-webkit-progress-value {
|
|
background: var(--btn-special-gradient);
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
progress::-moz-progress-bar {
|
|
background: var(--btn-special-gradient);
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
.progress-wrapper {
|
|
position: relative;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.progress-label {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-bottom: 0.5rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.progress-custom {
|
|
width: 100%;
|
|
height: 2rem;
|
|
background: var(--bg-elevated);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.progress-fill {
|
|
height: 100%;
|
|
background: var(--btn-special-gradient);
|
|
border-radius: var(--radius-md);
|
|
transition: width 0.3s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding-right: 0.5rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ===== BADGES & PILLS ===== */
|
|
.badge {
|
|
display: inline-block;
|
|
padding: 0.375rem 0.875rem;
|
|
font-size: 0.85rem;
|
|
font-weight: 600;
|
|
border: 1px solid var(--border-color);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.badge-bubblegum {
|
|
background: var(--bg-elevated);
|
|
color: var(--glow-bubblegum-1);
|
|
border-color: var(--glow-bubblegum-1);
|
|
}
|
|
|
|
.badge-sparkle {
|
|
background: var(--bg-elevated);
|
|
color: var(--glow-sparkle-1);
|
|
border-color: var(--glow-sparkle-1);
|
|
}
|
|
|
|
.badge-neon {
|
|
background: var(--bg-elevated);
|
|
color: var(--glow-neon-1);
|
|
border-color: var(--glow-neon-1);
|
|
}
|
|
|
|
.badge-solid {
|
|
background: var(--bg-solid-header);
|
|
color: var(--text-primary);
|
|
border-color: var(--border-color);
|
|
}
|
|
|
|
.card-elevated .badge-bubblegum,
|
|
.card-elevated .badge-sparkle,
|
|
.card-elevated .badge-neon,
|
|
.tab-content .badge-bubblegum,
|
|
.tab-content .badge-sparkle,
|
|
.tab-content .badge-neon {
|
|
background: var(--bg-darker);
|
|
}
|
|
|
|
/* ===== TABS ===== */
|
|
.tabs {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.tab-buttons {
|
|
display: flex;
|
|
gap: 0.5rem;
|
|
border-bottom: var(--border-width) solid var(--border-color);
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.tab-button {
|
|
padding: 0.75rem 1.5rem;
|
|
background: var(--bg-elevated);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-bottom: none;
|
|
border-radius: var(--radius-md) var(--radius-md) 0 0;
|
|
color: var(--text-primary);
|
|
cursor: pointer;
|
|
font-family: var(--font-body);
|
|
font-weight: 600;
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.tab-button:hover {
|
|
background: var(--bg-card);
|
|
transform: translateY(-2px);
|
|
}
|
|
|
|
.tab-button.active {
|
|
background: var(--bg-solid-header);
|
|
color: var(--glow-bubblegum-1);
|
|
box-shadow: 0 0 15px rgba(255, 105, 180, 0.4);
|
|
}
|
|
|
|
.tab-content {
|
|
display: none;
|
|
padding: 1.5rem;
|
|
background: var(--bg-card);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: 0 var(--radius-md) var(--radius-md) var(--radius-md);
|
|
}
|
|
|
|
.tab-content.active {
|
|
display: block;
|
|
}
|
|
|
|
/* ===== TIMELINE ===== */
|
|
.timeline {
|
|
position: relative;
|
|
padding: 2rem 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.timeline::before {
|
|
content: '';
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 0;
|
|
bottom: 0;
|
|
width: 4px;
|
|
background: var(--btn-special-gradient);
|
|
transform: translateX(-50%);
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
.timeline-item {
|
|
position: relative;
|
|
margin-bottom: 3rem;
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.timeline-item:nth-child(odd) {
|
|
flex-direction: row;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.timeline-item:nth-child(even) {
|
|
flex-direction: row-reverse;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.timeline-content {
|
|
width: 45%;
|
|
max-width: 45%;
|
|
padding: 1.5rem;
|
|
background: var(--bg-card);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
word-wrap: break-word;
|
|
overflow-wrap: break-word;
|
|
}
|
|
|
|
.timeline-marker {
|
|
position: absolute;
|
|
left: 50%;
|
|
width: 20px;
|
|
height: 20px;
|
|
background: var(--glow-bubblegum-1);
|
|
border: 4px solid var(--bg-gradient-1);
|
|
border-radius: var(--radius-full);
|
|
transform: translateX(-50%);
|
|
z-index: 1;
|
|
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
|
|
}
|
|
|
|
.timeline-date {
|
|
font-size: 0.9rem;
|
|
color: var(--glow-bubblegum-1);
|
|
font-weight: 600;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
/* ===== ALERT BOXES ===== */
|
|
.alert {
|
|
padding: 1rem 1.5rem;
|
|
margin-bottom: 1.5rem;
|
|
border: var(--border-width) solid;
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
.alert-sparkle {
|
|
background: rgba(176, 255, 232, 0.15);
|
|
border-color: var(--glow-sparkle-1);
|
|
box-shadow: 0 2px 12px rgba(176, 255, 232, 0.3);
|
|
}
|
|
|
|
.alert-bubblegum {
|
|
background: rgba(255, 105, 180, 0.15);
|
|
border-color: var(--glow-bubblegum-1);
|
|
box-shadow: 0 2px 12px rgba(255, 105, 180, 0.3);
|
|
}
|
|
|
|
.alert-neon {
|
|
background: rgba(255, 16, 240, 0.15);
|
|
border-color: var(--glow-neon-1);
|
|
box-shadow: 0 2px 12px rgba(255, 16, 240, 0.3);
|
|
}
|
|
|
|
.alert-info {
|
|
background: rgba(204, 204, 255, 0.15);
|
|
border-color: var(--text-h5);
|
|
box-shadow: 0 2px 12px rgba(204, 204, 255, 0.2);
|
|
}
|
|
|
|
/* ===== STAT CARDS ===== */
|
|
.stat-card {
|
|
background: var(--bg-card);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
padding: 1.5rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.stat-value {
|
|
font-size: 2.5rem;
|
|
font-weight: 700;
|
|
background: var(--text-h1-gradient);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.stat-label {
|
|
font-size: 0.9rem;
|
|
color: var(--text-primary);
|
|
}
|
|
|
|
/* ===== CHART ELEMENTS ===== */
|
|
.chart-bar {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.chart-label {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
margin-bottom: 0.5rem;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.chart-bar-fill {
|
|
height: 2rem;
|
|
background: var(--bg-elevated);
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chart-bar-value {
|
|
height: 100%;
|
|
background: var(--btn-special-gradient);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding-right: 0.75rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
/* ===== HEADER WITH SOLID BACKGROUND ===== */
|
|
.header-solid {
|
|
background: var(--bg-solid-header);
|
|
color: var(--text-white);
|
|
padding: 2rem;
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-lg);
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.header-solid h1,
|
|
.header-solid h2,
|
|
.header-solid h3 {
|
|
color: var(--text-white);
|
|
background: none;
|
|
-webkit-text-fill-color: var(--text-white);
|
|
}
|
|
|
|
/* ===== SECTION DIVIDERS ===== */
|
|
.section-divider {
|
|
height: 4px;
|
|
background: var(--btn-special-gradient);
|
|
margin: 3rem 0;
|
|
border: none;
|
|
border-radius: var(--radius-full);
|
|
}
|
|
|
|
/* ===== COLOR SWATCHES ===== */
|
|
.color-swatches {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
|
|
gap: 1rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.color-swatch {
|
|
aspect-ratio: 1;
|
|
border: var(--border-width) solid var(--border-color);
|
|
border-radius: var(--radius-md);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 0.8rem;
|
|
font-family: var(--font-mono);
|
|
text-align: center;
|
|
padding: 0.5rem;
|
|
}
|
|
|
|
/* ===== UTILITY CLASSES ===== */
|
|
.text-center { text-align: center; }
|
|
.text-right { text-align: right; }
|
|
.mb-1 { margin-bottom: 1rem; }
|
|
.mb-2 { margin-bottom: 2rem; }
|
|
.mb-3 { margin-bottom: 3rem; }
|
|
.mt-1 { margin-top: 1rem; }
|
|
.mt-2 { margin-top: 2rem; }
|
|
.mt-3 { margin-top: 3rem; }
|
|
|
|
/* ===== RESPONSIVE ===== */
|
|
@media (max-width: 768px) {
|
|
.timeline::before {
|
|
left: 0;
|
|
}
|
|
|
|
.timeline-item {
|
|
flex-direction: column !important;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.timeline-content {
|
|
width: 100%;
|
|
margin-left: 2rem;
|
|
}
|
|
|
|
.timeline-marker {
|
|
left: 0;
|
|
transform: translateX(0);
|
|
}
|
|
|
|
.grid-2,
|
|
.grid-3,
|
|
.grid-4 {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<!-- MAIN HEADER -->
|
|
<div class="header-solid text-center">
|
|
<h1>Bubblicorn Style Reference 🦄✨</h1>
|
|
<p style="font-size: 1.25rem; margin-top: 0.5rem;">E-Girl Aesthetic | Rounded Corners | Pastel Vibes</p>
|
|
</div>
|
|
|
|
<!-- COLOR SYSTEM -->
|
|
<section class="mb-3">
|
|
<h2>Color Palette 💖</h2>
|
|
<div class="color-swatches">
|
|
<div class="color-swatch" style="background: #FF69B4;">
|
|
<strong>Bubblegum 1</strong>
|
|
<span>#FF69B4</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #FF1493;">
|
|
<strong>Bubblegum 2</strong>
|
|
<span>#FF1493</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #B0FFE8;">
|
|
<strong>Sparkle 1</strong>
|
|
<span>#B0FFE8</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #00FFFF;">
|
|
<strong>Sparkle 2</strong>
|
|
<span>#00FFFF</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #FF10F0;">
|
|
<strong>Neon 1</strong>
|
|
<span>#FF10F0</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #FFE66D;">
|
|
<strong>Neon 2</strong>
|
|
<span>#FFE66D</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #E6B3FF;">
|
|
<strong>Lavender</strong>
|
|
<span>#E6B3FF</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #CCCCFF;">
|
|
<strong>Periwinkle</strong>
|
|
<span>#CCCCFF</span>
|
|
</div>
|
|
<div class="color-swatch" style="background: #FFE6FF; color: #2d1435;">
|
|
<strong>Primary Text</strong>
|
|
<span>#FFE6FF</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- TYPOGRAPHY -->
|
|
<section class="mb-3">
|
|
<h2>Typography ✨</h2>
|
|
<div class="card">
|
|
<h1>H1: Rainbow Gradient ✨</h1>
|
|
<h2>H2: Hot Pink Primary 💕</h2>
|
|
<h3>H3: Lavender Dreams 💜</h3>
|
|
<h4>H4: Mint Sparkle 🌿</h4>
|
|
<h5>H5: Periwinkle Soft 🦋</h5>
|
|
<h6>H6: Light Primary ⭐</h6>
|
|
|
|
<p>This is <strong>bold bubblegum text</strong> and this is <em>sparkly emphasized text</em>. Body text uses Nunito with Noto Emoji for perfect emoji rendering 🦄🌈✨. All headings use Quicksand for that cute, rounded aesthetic!</p>
|
|
|
|
<p>Inline <code>code snippets</code> are styled with rounded borders and soft pink backgrounds.</p>
|
|
|
|
<pre><code>// Code block example ✨
|
|
function kawaii() {
|
|
return "So cute! 💖";
|
|
}</code></pre>
|
|
|
|
<blockquote>
|
|
This is a blockquote with rounded corners and a bubblegum pink accent border~ So aesthetic! 💕
|
|
</blockquote>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- BUTTONS -->
|
|
<section class="mb-3">
|
|
<h2>Button Styles 🎀</h2>
|
|
<div class="card">
|
|
<h3>Special Button (Gradient)</h3>
|
|
<button class="btn btn-special">Magical Action ✨</button>
|
|
|
|
<h3 class="mt-2">Default Button</h3>
|
|
<button class="btn btn-default">Cute Action 💕</button>
|
|
|
|
<h3 class="mt-2">Navigation Button</h3>
|
|
<button class="btn btn-nav">Nav Link 🌸</button>
|
|
|
|
<h3 class="mt-2">Sparkle Button</h3>
|
|
<button class="btn btn-sparkle">Success! 🌟</button>
|
|
|
|
<h3 class="mt-2">Neon Button</h3>
|
|
<button class="btn btn-neon">Warning! ⚡</button>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- CARDS & GLOWS -->
|
|
<section class="mb-3">
|
|
<h2>Cards & Glow Effects 💫</h2>
|
|
<div class="grid grid-3">
|
|
<div class="card card-glow-bubblegum">
|
|
<h3>Bubblegum Glow 💖</h3>
|
|
<p>Used for primary actions and important highlights. Sweet pink vibes!</p>
|
|
</div>
|
|
|
|
<div class="card card-glow-sparkle">
|
|
<h4>Sparkle Glow ✨</h4>
|
|
<p>Used for success states and achievements. Magical mint cyan tones!</p>
|
|
</div>
|
|
|
|
<div class="card card-glow-neon">
|
|
<h5>Neon Glow ⚡</h5>
|
|
<p>Used for warnings and attention-grabbing elements. Electric vibes!</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="grid grid-2">
|
|
<div class="card-elevated">
|
|
<h3>Elevated Card 🌙</h3>
|
|
<p>Uses subtle pink-tinted elevated background with soft rounded corners.</p>
|
|
</div>
|
|
|
|
<div class="card-solid">
|
|
<h3 style="color: var(--text-white);">Solid Card 🌌</h3>
|
|
<p>Dark solid magenta background for strong contrast sections.</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- KAWAII CARD -->
|
|
<section class="mb-3">
|
|
<h2>Kawaii Card (Light Mode) 🌸</h2>
|
|
<div class="card-kawaii">
|
|
<h3>Super Cute Featured Content! 💕</h3>
|
|
<p>This <strong>ultra-kawaii card</strong> uses a bright white background (rgba(255, 255, 255, 0.92)) with a thick rainbow gradient border. Perfect for <em>special announcements</em>, featured content, or anything that needs extra cuteness! ✨</p>
|
|
|
|
<h4>Design Specs:</h4>
|
|
<ul>
|
|
<li>Background: rgba(255, 255, 255, 0.92) - Ultra bright! 🌟</li>
|
|
<li>Border: 4px gradient (Hot Pink → Lavender → Cyan)</li>
|
|
<li>Heading color: #8B008B (dark magenta)</li>
|
|
<li>Text color: #2d1435 (dark purple)</li>
|
|
<li>Strong: #FF1493 | Em: #00CED1</li>
|
|
<li>Rounded corners: 20px (extra soft!)</li>
|
|
</ul>
|
|
|
|
<p>Use this variant when you need maximum cuteness and readability. The <code>card-kawaii</code> class automatically applies light-mode styling to all child elements with that perfect e-girl aesthetic! 🦄</p>
|
|
</div>
|
|
|
|
<div class="grid grid-2">
|
|
<div class="card">
|
|
<h3>Standard Dark Card 🌙</h3>
|
|
<p>Regular pastel-tinted card for normal content.</p>
|
|
</div>
|
|
|
|
<div class="card-kawaii">
|
|
<h3>Kawaii Light Card 🌸</h3>
|
|
<p>Maximum brightness and cuteness overload!</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- TABLES -->
|
|
<section class="mb-3">
|
|
<h2>Tables 📊</h2>
|
|
<div class="card">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Unicorn 🦄</th>
|
|
<th>Level</th>
|
|
<th>Sparkles ✨</th>
|
|
<th>Status</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Rainbow Dash</td>
|
|
<td>99</td>
|
|
<td>12,540 ✨</td>
|
|
<td><span class="badge badge-sparkle">Online 💚</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Stardust</td>
|
|
<td>87</td>
|
|
<td>15,890 ✨</td>
|
|
<td><span class="badge badge-sparkle">Online 💚</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Moonbeam</td>
|
|
<td>76</td>
|
|
<td>9,320 ✨</td>
|
|
<td><span class="badge badge-bubblegum">Away 💖</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Glitter</td>
|
|
<td>95</td>
|
|
<td>21,770 ✨</td>
|
|
<td><span class="badge badge-neon">Offline ⚡</span></td>
|
|
</tr>
|
|
</tbody>
|
|
<tfoot>
|
|
<tr>
|
|
<td colspan="2"><strong>Total Unicorns</strong></td>
|
|
<td><strong>59,520 ✨</strong></td>
|
|
<td><strong>4 Active 🦄</strong></td>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- FORMS -->
|
|
<section class="mb-3">
|
|
<h2>Form Elements 📝</h2>
|
|
<div class="card">
|
|
<div class="form-group">
|
|
<label for="username">Username 💖</label>
|
|
<input type="text" id="username" placeholder="Enter your magical name">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="email">Email Address ✨</label>
|
|
<input type="email" id="email" placeholder="unicorn@magic.com">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="level">Sparkle Level 🌟</label>
|
|
<input type="number" id="level" value="99">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="bio">About Me 🦄</label>
|
|
<textarea id="bio" placeholder="Tell us your magical story..."></textarea>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="vibe">Choose Your Vibe 💕</label>
|
|
<select id="vibe">
|
|
<option>Kawaii Cutie 🌸</option>
|
|
<option>E-Girl Energy ⚡</option>
|
|
<option>Pastel Princess 👑</option>
|
|
<option>Neon Dreams 💜</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label>Magical Powers 🌈</label>
|
|
<div class="checkbox-group">
|
|
<input type="checkbox" id="sparkle" checked>
|
|
<label for="sparkle" style="display: inline; margin: 0;">Sparkle Magic ✨</label>
|
|
</div>
|
|
<div class="checkbox-group">
|
|
<input type="checkbox" id="rainbow">
|
|
<label for="rainbow" style="display: inline; margin: 0;">Rainbow Creation 🌈</label>
|
|
</div>
|
|
<div class="checkbox-group">
|
|
<input type="checkbox" id="glow" checked>
|
|
<label for="glow" style="display: inline; margin: 0;">Glow Powers 💫</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label>Aesthetic Mode 🎨</label>
|
|
<div class="radio-group">
|
|
<input type="radio" name="mode" id="soft">
|
|
<label for="soft" style="display: inline; margin: 0;">Soft Pastel 🌸</label>
|
|
</div>
|
|
<div class="radio-group">
|
|
<input type="radio" name="mode" id="bright" checked>
|
|
<label for="bright" style="display: inline; margin: 0;">Bright Neon ⚡</label>
|
|
</div>
|
|
<div class="radio-group">
|
|
<input type="radio" name="mode" id="dreamy">
|
|
<label for="dreamy" style="display: inline; margin: 0;">Dreamy Vibes 💭</label>
|
|
</div>
|
|
</div>
|
|
|
|
<button class="btn btn-special">Save My Sparkles ✨</button>
|
|
<button class="btn btn-default" style="margin-left: 1rem;">Cancel 💕</button>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- PROGRESS BARS -->
|
|
<section class="mb-3">
|
|
<h2>Progress Indicators 📈</h2>
|
|
<div class="card">
|
|
<h3>Native Progress Element</h3>
|
|
<progress value="70" max="100"></progress>
|
|
<progress value="45" max="100"></progress>
|
|
<progress value="90" max="100"></progress>
|
|
|
|
<h3 class="mt-2">Custom Progress Bars</h3>
|
|
<div class="progress-wrapper">
|
|
<div class="progress-label">
|
|
<span>Sparkle Power ✨</span>
|
|
<span>850/1000</span>
|
|
</div>
|
|
<div class="progress-custom">
|
|
<div class="progress-fill" style="width: 85%;">85%</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="progress-wrapper">
|
|
<div class="progress-label">
|
|
<span>Kawaii Experience 💖</span>
|
|
<span>6,240/10,000</span>
|
|
</div>
|
|
<div class="progress-custom">
|
|
<div class="progress-fill" style="width: 62%;">62%</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="progress-wrapper">
|
|
<div class="progress-label">
|
|
<span>Quest Progress 🌈</span>
|
|
<span>3/12 Complete</span>
|
|
</div>
|
|
<div class="progress-custom">
|
|
<div class="progress-fill" style="width: 25%;">25%</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- BADGES & PILLS -->
|
|
<section class="mb-3">
|
|
<h2>Badges & Pills 🏷️</h2>
|
|
<div class="card">
|
|
<p>
|
|
<span class="badge badge-bubblegum">New 💖</span>
|
|
<span class="badge badge-sparkle">Verified ✨</span>
|
|
<span class="badge badge-neon">Hot ⚡</span>
|
|
<span class="badge badge-solid">Common 🌙</span>
|
|
<span class="badge badge-bubblegum">Cute 💕</span>
|
|
<span class="badge badge-sparkle">Active 🌟</span>
|
|
</p>
|
|
|
|
<h3 class="mt-2">Use Cases</h3>
|
|
<p>Status: <span class="badge badge-sparkle">Online 💚</span> <span class="badge badge-bubblegum">Away 💖</span> <span class="badge badge-neon">Offline ⚡</span></p>
|
|
<p>Tiers: <span class="badge badge-solid">Bronze 🥉</span> <span class="badge badge-bubblegum">Gold 🥇</span> <span class="badge badge-sparkle">Legendary ✨</span></p>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- TABS -->
|
|
<section class="mb-3">
|
|
<h2>Tab Interface 📑</h2>
|
|
<div class="card">
|
|
<div class="tabs">
|
|
<div class="tab-buttons">
|
|
<button class="tab-button active" onclick="switchTab(event, 'tab1')">Overview 🌸</button>
|
|
<button class="tab-button" onclick="switchTab(event, 'tab2')">Stats 📊</button>
|
|
<button class="tab-button" onclick="switchTab(event, 'tab3')">Inventory 🎀</button>
|
|
</div>
|
|
|
|
<div id="tab1" class="tab-content active">
|
|
<h3>Overview ✨</h3>
|
|
<p>This is the overview tab with rounded corners and soft pastel vibes. Tab content displays in a card-style container with full styling support!</p>
|
|
<button class="btn btn-special">Magical Action 💖</button>
|
|
</div>
|
|
|
|
<div id="tab2" class="tab-content">
|
|
<h3>Character Stats 🌟</h3>
|
|
<ul>
|
|
<li><strong>Cuteness:</strong> 99 💕</li>
|
|
<li><strong>Sparkle:</strong> 87 ✨</li>
|
|
<li><strong>Magic:</strong> 95 🌈</li>
|
|
<li><strong>Vibes:</strong> 100 💫</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div id="tab3" class="tab-content">
|
|
<h3>Inventory 🎀</h3>
|
|
<p>Your equipped items and magical accessories!</p>
|
|
<p><span class="badge badge-bubblegum">Rainbow Sword 🗡️</span> <span class="badge badge-sparkle">Sparkle Potion x5 ✨</span> <span class="badge badge-solid">Stardust: 12,450 ⭐</span></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- TIMELINE -->
|
|
<section class="mb-3">
|
|
<h2>Timeline Component 🕐</h2>
|
|
<div class="card">
|
|
<div class="timeline">
|
|
<div class="timeline-item">
|
|
<div class="timeline-marker"></div>
|
|
<div class="timeline-content">
|
|
<div class="timeline-date">2025-01-15 🌸</div>
|
|
<h4>Journey Begins! 🦄</h4>
|
|
<p>Welcome to the magical world! Your kawaii adventure starts here ✨</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="timeline-item">
|
|
<div class="timeline-marker"></div>
|
|
<div class="timeline-content">
|
|
<div class="timeline-date">2025-02-03 💖</div>
|
|
<h4>First Quest Completed!</h4>
|
|
<p>Completed "Rainbow Mission" - Earned 500 Sparkles ✨</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="timeline-item">
|
|
<div class="timeline-marker"></div>
|
|
<div class="timeline-content">
|
|
<div class="timeline-date">2025-03-12 🌟</div>
|
|
<h4>Level 99 Achieved!</h4>
|
|
<p>Reached legendary status! Unlocked unicorn powers 🦄</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="timeline-item">
|
|
<div class="timeline-marker"></div>
|
|
<div class="timeline-content">
|
|
<div class="timeline-date">2025-04-20 ⚡</div>
|
|
<h4>Mythical Item Found!</h4>
|
|
<p>Discovered "Crystal of Eternal Sparkles" in treasure chest 💎</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- STAT CARDS -->
|
|
<section class="mb-3">
|
|
<h2>Statistics Display 📊</h2>
|
|
<div class="grid grid-4">
|
|
<div class="stat-card">
|
|
<div class="stat-value">12.5K</div>
|
|
<div class="stat-label">Sparkles Earned ✨</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">98%</div>
|
|
<div class="stat-label">Cuteness Level 💕</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">247</div>
|
|
<div class="stat-label">Quests Done 🌈</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">∞</div>
|
|
<div class="stat-label">Vibes Score 💫</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- CHART BARS -->
|
|
<section class="mb-3">
|
|
<h2>Chart Elements 📈</h2>
|
|
<div class="card">
|
|
<h3>Skill Levels 🌟</h3>
|
|
<div class="chart-bar">
|
|
<div class="chart-label">
|
|
<span>Cuteness 💕</span>
|
|
<span>92/100</span>
|
|
</div>
|
|
<div class="chart-bar-fill">
|
|
<div class="chart-bar-value" style="width: 92%;">92%</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chart-bar">
|
|
<div class="chart-label">
|
|
<span>Sparkle ✨</span>
|
|
<span>78/100</span>
|
|
</div>
|
|
<div class="chart-bar-fill">
|
|
<div class="chart-bar-value" style="width: 78%;">78%</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chart-bar">
|
|
<div class="chart-label">
|
|
<span>Magic 🌈</span>
|
|
<span>65/100</span>
|
|
</div>
|
|
<div class="chart-bar-fill">
|
|
<div class="chart-bar-value" style="width: 65%;">65%</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chart-bar">
|
|
<div class="chart-label">
|
|
<span>Vibes 💫</span>
|
|
<span>88/100</span>
|
|
</div>
|
|
<div class="chart-bar-fill">
|
|
<div class="chart-bar-value" style="width: 88%;">88%</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- ALERTS -->
|
|
<section class="mb-3">
|
|
<h2>Alert Boxes 📢</h2>
|
|
|
|
<div class="alert alert-sparkle">
|
|
<strong>Success! ✨</strong> Your magical profile has been updated successfully!
|
|
</div>
|
|
|
|
<div class="alert alert-bubblegum">
|
|
<strong>Notice 💕</strong> Your sparkle session will expire in 5 minutes.
|
|
</div>
|
|
|
|
<div class="alert alert-neon">
|
|
<strong>Warning ⚡</strong> Unable to connect to unicorn server. Please try again!
|
|
</div>
|
|
|
|
<div class="alert alert-info">
|
|
<strong>Info 🌙</strong> Magical maintenance scheduled for tomorrow at 2:00 AM UTC.
|
|
</div>
|
|
</section>
|
|
|
|
<hr class="section-divider">
|
|
|
|
<!-- IMPLEMENTATION GUIDE -->
|
|
<section class="mb-3">
|
|
<h2>Implementation Guide for LLMs 📚</h2>
|
|
|
|
<div class="card">
|
|
<h3>Quick Start Checklist ✨</h3>
|
|
<ol>
|
|
<li>Copy :root CSS variables block</li>
|
|
<li>Apply vertical gradient background to body</li>
|
|
<li>Use .container for max-width centering</li>
|
|
<li>Build layouts with .grid .grid-[2|3|4] classes</li>
|
|
<li>All borders are ROUNDED (8px-20px range)</li>
|
|
<li>Style components with modifier classes (.btn-special, .card-glow-bubblegum)</li>
|
|
</ol>
|
|
</div>
|
|
|
|
<div class="grid grid-2 mt-2">
|
|
<div class="card">
|
|
<h3>Border Radius System 💫</h3>
|
|
<pre><code>/* Rounded corners everywhere! */
|
|
--radius-sm: 8px; /* Small elements */
|
|
--radius-md: 12px; /* Standard cards */
|
|
--radius-lg: 16px; /* Large sections */
|
|
--radius-xl: 20px; /* Extra cute! */
|
|
--radius-full: 9999px; /* Pills/badges */</code></pre>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Color Harmony 🌈</h3>
|
|
<p><strong>Bubblegum:</strong> Hot pinks for primary actions</p>
|
|
<p><strong>Sparkle:</strong> Mint/cyan for success states</p>
|
|
<p><strong>Neon:</strong> Electric pink/yellow for warnings</p>
|
|
<p><strong>Pastels:</strong> Lavender, periwinkle for soft accents</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mt-2">
|
|
<h3>Typography Usage 💕</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Element</th>
|
|
<th>Color/Style</th>
|
|
<th>Font</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code><h1></code></td>
|
|
<td>5-color rainbow gradient</td>
|
|
<td>Quicksand</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><h2></code></td>
|
|
<td>#FF69B4 (hot pink)</td>
|
|
<td>Quicksand</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><h3></code></td>
|
|
<td>#E6B3FF (lavender)</td>
|
|
<td>Quicksand</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><h4></code></td>
|
|
<td>#B0FFE8 (mint)</td>
|
|
<td>Quicksand</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><strong></code></td>
|
|
<td>#FF69B4 (hot pink)</td>
|
|
<td>-</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><em></code></td>
|
|
<td>#B0FFE8 (mint)</td>
|
|
<td>-</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p class="mt-1"><strong>Fonts:</strong> Quicksand (headers) | Nunito + Noto Emoji (body)</p>
|
|
</div>
|
|
|
|
<div class="card mt-2">
|
|
<h3>Button Behaviors 🎀</h3>
|
|
<pre><code>/* Special button hover */
|
|
.btn-special:hover {
|
|
transform: translateY(-4px) scale(1.05);
|
|
/* Floats up + grows slightly */
|
|
}
|
|
|
|
/* Standard button hover */
|
|
.btn-default:hover {
|
|
transform: translateY(-2px) scale(1.03);
|
|
/* Subtle lift effect */
|
|
}</code></pre>
|
|
</div>
|
|
|
|
<div class="alert alert-info mt-2">
|
|
<h3 style="color: var(--text-primary); margin-bottom: 0.5rem;">Critical Design Rules ✨</h3>
|
|
<ul style="margin-left: 1.5rem; margin-top: 0.5rem;">
|
|
<li><strong>Always rounded corners:</strong> Use border-radius on everything!</li>
|
|
<li><strong>Border thickness:</strong> 2px standard, 4px for kawaii cards</li>
|
|
<li><strong>Opacity:</strong> bg-elevated: 0.06, bg-card: 0.18, bg-darker: 0.25</li>
|
|
<li><strong>Hover effects:</strong> Buttons lift up AND scale (translateY + scale)</li>
|
|
<li><strong>Colors:</strong> Pastel/neon mix - high saturation but playful</li>
|
|
<li><strong>Fonts:</strong> Quicksand (headers), Nunito (body) - both rounded!</li>
|
|
<li><strong>Background:</strong> 180deg vertical gradient (deep purple → teal)</li>
|
|
<li><strong>Emojis:</strong> Use liberally for that e-girl aesthetic! 🦄✨💕</li>
|
|
<li><strong>Glows:</strong> More intense than demoBuild - embrace the neon!</li>
|
|
</ul>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- FOOTER -->
|
|
<footer class="card-solid text-center mt-3" style="padding: 2rem;">
|
|
<h2 style="color: var(--text-white);">Bubblicorn Style Complete! 🦄✨</h2>
|
|
<p style="color: var(--text-white); margin-top: 1rem;">All rounded corners | Pastel + neon harmony | Maximum cuteness achieved 💖</p>
|
|
<p style="color: var(--text-white); opacity: 0.8; font-size: 0.9rem; margin-top: 0.5rem;">Copy CSS variables and component classes to replicate this kawaii aesthetic! 🌸</p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script>
|
|
// Tab switching functionality
|
|
function switchTab(event, tabId) {
|
|
document.querySelectorAll('.tab-button').forEach(btn => {
|
|
btn.classList.remove('active');
|
|
});
|
|
document.querySelectorAll('.tab-content').forEach(content => {
|
|
content.classList.remove('active');
|
|
});
|
|
|
|
event.target.classList.add('active');
|
|
document.getElementById(tabId).classList.add('active');
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|