kalei/initial mockups/screens/you/35-you-profile.html

382 lines
16 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=390, initial-scale=1">
<title>Kalei — You Profile</title>
<link rel="stylesheet" href="../../assets/design-system.css">
<style>
.avatar-circle {
width: 80px;
height: 80px;
border-radius: 50%;
background: linear-gradient(135deg, var(--deep-glass), var(--twilight));
border: 2px solid var(--soft-light);
display: flex;
align-items: center;
justify-content: center;
font-size: 32px;
font-weight: 700;
color: var(--soft-light);
box-shadow: var(--glow-white);
flex-shrink: 0;
animation: breathing 6s ease-in-out infinite;
}
.profile-header {
display: flex;
align-items: center;
gap: var(--space-4);
padding: var(--space-4) 0 var(--space-5);
}
.profile-info { flex: 1; }
.profile-name {
font-size: 22px;
font-weight: 700;
color: var(--pure-light);
margin-bottom: 2px;
}
.profile-since {
font-size: 13px;
color: var(--dim-light);
}
.stats-row {
display: flex;
gap: var(--space-2);
margin-bottom: var(--space-4);
}
.stat-block-you {
flex: 1;
background: var(--deep-glass);
border: 1px solid var(--twilight);
border-radius: var(--radius-lg);
padding: var(--space-3);
text-align: center;
}
.stat-block-you .val {
font-size: 22px;
font-weight: 700;
color: var(--soft-light);
}
.stat-block-you .lbl {
font-size: 10px;
color: var(--dim-light);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-top: 2px;
}
.quick-links-card {
background: var(--kalei-navy);
border: 1px solid var(--twilight);
border-radius: var(--radius-xl);
overflow: hidden;
margin-bottom: var(--space-4);
}
.quick-link-item {
display: flex;
align-items: center;
gap: var(--space-3);
padding: var(--space-3) var(--space-4);
text-decoration: none;
transition: background 0.15s;
border-bottom: 1px solid var(--twilight);
}
.quick-link-item:last-child { border-bottom: none; }
.quick-link-item:hover { background: var(--deep-glass); }
.quick-link-icon {
width: 36px;
height: 36px;
border-radius: var(--radius-md);
background: var(--deep-glass);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.quick-link-label {
flex: 1;
font-size: 15px;
color: var(--soft-light);
}
.quick-link-chevron { color: var(--faint-light); }
.evidence-preview {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 6px;
margin-top: var(--space-3);
}
.preview-tile {
aspect-ratio: 1;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid;
cursor: pointer;
}
.preview-tile.amethyst {
background: rgba(139,92,246,0.12);
border-color: var(--amethyst);
box-shadow: 0 0 8px rgba(139,92,246,0.15);
}
.preview-tile.amber {
background: rgba(245,158,11,0.12);
border-color: var(--amber);
box-shadow: 0 0 8px rgba(245,158,11,0.15);
}
.preview-tile.emerald {
background: rgba(16,185,129,0.12);
border-color: var(--emerald);
box-shadow: 0 0 8px rgba(16,185,129,0.15);
}
.preview-tile.sapphire {
background: rgba(59,130,246,0.12);
border-color: var(--sapphire);
box-shadow: 0 0 8px rgba(59,130,246,0.15);
}
.preview-tile.ghost {
background: transparent;
border-color: var(--twilight);
border-style: dashed;
}
.spectrum-preview-card {
background: var(--kalei-navy);
border: 1px solid var(--twilight);
border-radius: var(--radius-xl);
padding: var(--space-4);
display: flex;
align-items: center;
gap: var(--space-3);
text-decoration: none;
transition: background 0.15s;
}
.spectrum-preview-card:hover { background: var(--deep-glass); }
.prism-badge {
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
background: var(--prismatic);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
border: 1px solid;
border-image: var(--prismatic) 1;
padding: 2px 8px;
border-radius: var(--radius-full);
}
.prism-badge-wrap {
display: inline-block;
background: linear-gradient(135deg, rgba(139,92,246,0.2), rgba(59,130,246,0.2), rgba(16,185,129,0.2));
border-radius: var(--radius-full);
padding: 3px 10px;
}
.prism-badge-text {
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
background: var(--prismatic);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.stats-link {
display: block;
text-align: right;
font-size: 13px;
color: var(--amethyst-light);
text-decoration: none;
margin-bottom: var(--space-2);
}
.stats-link:hover { opacity: 0.8; }
</style>
</head>
<body>
<div class="device-frame">
<!-- STATUS BAR -->
<div class="status-bar">
<span class="time">9:41</span>
<div class="icons">
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
<rect x="1" y="7" width="2.5" height="5" rx="0.5" fill="#E2E8F0" opacity="0.4"/>
<rect x="4.5" y="5" width="2.5" height="7" rx="0.5" fill="#E2E8F0" opacity="0.6"/>
<rect x="8" y="3" width="2.5" height="9" rx="0.5" fill="#E2E8F0" opacity="0.8"/>
<rect x="11.5" y="1" width="2.5" height="11" rx="0.5" fill="#E2E8F0"/>
</svg>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M 2,8 C 4,4 12,4 14,8" stroke="#E2E8F0" stroke-width="1.2" fill="none" stroke-linecap="round"/>
<path d="M 4,10 C 6,7 10,7 12,10" stroke="#E2E8F0" stroke-width="1" fill="none" opacity="0.8" stroke-linecap="round"/>
<circle cx="8" cy="12" r="1.2" fill="#E2E8F0"/>
</svg>
<svg width="24" height="12" viewBox="0 0 24 12" fill="none">
<rect x="0.5" y="0.5" width="21" height="11" rx="2.5" stroke="#E2E8F0" stroke-width="1" opacity="0.5"/>
<rect x="22" y="3" width="2" height="6" rx="1" fill="#E2E8F0" opacity="0.3"/>
<rect x="2" y="2" width="16" height="8" rx="1.5" fill="#10B981" opacity="0.9"/>
</svg>
</div>
</div>
<!-- SCREEN CONTENT -->
<div class="screen-content" style="padding-top: var(--space-2);">
<!-- Profile Header -->
<div class="profile-header">
<div class="avatar-circle">A</div>
<div class="profile-info">
<div class="profile-name">Alex</div>
<div class="profile-since">alex@email.com · Member since Feb 1, 2026</div>
</div>
</div>
<!-- Stats Row -->
<a href="36-you-stats.html" class="stats-link">View all stats</a>
<div class="stats-row">
<div class="stat-block-you">
<div class="val" style="color: var(--amethyst-light);">47</div>
<div class="lbl">Turns</div>
</div>
<div class="stat-block-you">
<div class="val" style="color: var(--amber-light);">23</div>
<div class="lbl">Sessions</div>
</div>
<div class="stat-block-you">
<div class="val" style="color: var(--rose-light);">14</div>
<div class="lbl">Day Streak</div>
</div>
<div class="stat-block-you">
<div class="val" style="color: var(--emerald-light);">3</div>
<div class="lbl">Goals</div>
</div>
</div>
<!-- Quick Links -->
<div class="quick-links-card">
<a class="quick-link-item" href="37-you-settings.html">
<div class="quick-link-icon">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none">
<circle cx="9" cy="9" r="3" stroke="var(--dim-light)" stroke-width="1.2"/>
<path d="M9 1v2M9 15v2M1 9h2M15 9h2M3.22 3.22l1.41 1.41M13.37 13.37l1.41 1.41M3.22 14.78l1.41-1.41M13.37 4.63l1.41-1.41" stroke="var(--dim-light)" stroke-width="1.2" stroke-linecap="round"/>
</svg>
</div>
<span class="quick-link-label">Settings</span>
<svg class="quick-link-chevron" width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M6 4L10 8L6 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<a class="quick-link-item" href="38-you-subscription.html">
<div class="quick-link-icon">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none">
<path d="M9 1L12 7L18 8L13.5 12.5L14.5 18L9 15L3.5 18L4.5 12.5L0 8L6 7Z" stroke="var(--dim-light)" stroke-width="1.2" stroke-linejoin="round"/>
</svg>
</div>
<span class="quick-link-label">Subscription</span>
<svg class="quick-link-chevron" width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M6 4L10 8L6 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<a class="quick-link-item" href="37-you-settings.html">
<div class="quick-link-icon">
<svg width="18" height="18" viewBox="0 0 18 18" fill="none">
<rect x="2" y="4" width="14" height="10" rx="2" stroke="var(--dim-light)" stroke-width="1.2"/>
<path d="M6 8h6M6 11h4" stroke="var(--dim-light)" stroke-width="1.2" stroke-linecap="round"/>
</svg>
</div>
<span class="quick-link-label">Data &amp; Privacy</span>
<svg class="quick-link-chevron" width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M6 4L10 8L6 12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
<!-- Evidence Wall Preview -->
<div class="section-header">
<span class="section-title">Evidence Wall</span>
<a href="42-evidence-wall-full.html" class="section-action">View all</a>
</div>
<div class="card" style="margin-bottom: var(--space-4);">
<a href="42-evidence-wall-full.html" style="text-decoration: none; display: block;">
<div class="evidence-preview">
<div class="preview-tile amethyst">
<svg width="12" height="12" viewBox="0 0 12 12"><path d="M6 1L11 6L6 11L1 6Z" fill="var(--amethyst)" opacity="0.85"/></svg>
</div>
<div class="preview-tile amber">
<svg width="12" height="12" viewBox="0 0 12 12"><path d="M6 1L10 3.5L11.5 6L10 8.5L6 11L2 8.5L0.5 6L2 3.5Z" fill="none" stroke="var(--amber)" stroke-width="1.2"/></svg>
</div>
<div class="preview-tile amethyst">
<svg width="12" height="12" viewBox="0 0 12 12"><path d="M6 1L11 6L6 11L1 6Z" fill="var(--amethyst)" opacity="0.85"/></svg>
</div>
<div class="preview-tile emerald">
<svg width="12" height="8" viewBox="0 0 12 8"><rect x="1" y="1" width="10" height="6" rx="1.5" fill="none" stroke="var(--emerald)" stroke-width="1.2"/></svg>
</div>
<div class="preview-tile sapphire">
<svg width="10" height="14" viewBox="0 0 10 14"><path d="M5 1L9 3.5L9 8.5L5 11L1 8.5L1 3.5Z" fill="none" stroke="var(--sapphire)" stroke-width="1.2"/></svg>
</div>
</div>
<div style="margin-top: var(--space-2); font-size: 12px; color: var(--dim-light);">47 tiles — your patterns are visible</div>
</a>
</div>
<!-- Spectrum Preview -->
<div class="section-header">
<span class="section-title">Spectrum</span>
<div class="prism-badge-wrap"><span class="prism-badge-text">Prism</span></div>
</div>
<a class="spectrum-preview-card" href="../spectrum/50-spectrum-dashboard.html" style="margin-bottom: var(--space-6);">
<div style="flex:1;">
<div class="subheading" style="color: var(--soft-light); margin-bottom: 4px;">Your Analytics</div>
<div class="body-sm" style="color: var(--dim-light);">Unlock deep insights into your patterns</div>
</div>
<svg width="48" height="48" viewBox="0 0 48 48" style="mix-blend-mode: screen; flex-shrink:0;">
<defs>
<linearGradient id="specGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0%" stop-color="#8B5CF6"/>
<stop offset="50%" stop-color="#3B82F6"/>
<stop offset="100%" stop-color="#10B981"/>
</linearGradient>
</defs>
<g transform="translate(24,24)">
<path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/>
<g transform="rotate(60)"><path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/></g>
<g transform="rotate(120)"><path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/></g>
<g transform="rotate(180)"><path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/></g>
<g transform="rotate(240)"><path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/></g>
<g transform="rotate(300)"><path d="M0,0 L4,-18 L0,-22 L-4,-18Z" fill="url(#specGrad)" opacity="0.7"/></g>
<circle r="4" fill="white" opacity="0.2"/>
</g>
</svg>
<svg width="16" height="16" viewBox="0 0 16 16" fill="none">
<path d="M6 4L10 8L6 12" stroke="var(--faint-light)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
</div>
<!-- TAB BAR -->
<div class="tab-bar">
<a class="tab-item inactive" data-tab="turn" href="../turn/10-turn-home.html">
<svg width="24" height="24" viewBox="0 0 24 24"><path d="M12 2L20 12L12 22L4 12Z" fill="currentColor" opacity="0.9"/><path d="M12 2L20 12L12 12Z" fill="white" opacity="0.15"/></svg>
<span class="tab-label">Turn</span>
</a>
<a class="tab-item inactive" data-tab="mirror" href="../mirror/15-mirror-home.html">
<svg width="24" height="24" viewBox="0 0 24 24"><path d="M12 3L16 8L18 14L12 19L6 14L8 8Z" stroke="currentColor" fill="none" stroke-width="1.2"/></svg>
<span class="tab-label">Mirror</span>
</a>
<a class="tab-item inactive" data-tab="lens" href="../lens/20-lens-dashboard.html">
<svg width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9" stroke="currentColor" fill="none" stroke-width="1.2"/><circle cx="12" cy="12" r="4" stroke="currentColor" fill="none" stroke-width="0.8"/></svg>
<span class="tab-label">Lens</span>
</a>
<a class="tab-item inactive" data-tab="gallery" href="../gallery/31-gallery-all.html">
<svg width="24" height="24" viewBox="0 0 24 24"><rect x="3" y="3" width="7.5" height="7.5" rx="1.5" stroke="currentColor" fill="none" stroke-width="1"/><rect x="13.5" y="3" width="7.5" height="7.5" rx="1.5" stroke="currentColor" fill="none" stroke-width="1"/><rect x="3" y="13.5" width="7.5" height="7.5" rx="1.5" stroke="currentColor" fill="none" stroke-width="1"/><rect x="13.5" y="13.5" width="7.5" height="7.5" rx="1.5" stroke="currentColor" fill="none" stroke-width="1"/></svg>
<span class="tab-label">Gallery</span>
</a>
<a class="tab-item active" data-tab="you" href="35-you-profile.html">
<svg width="24" height="24" viewBox="0 0 24 24"><circle cx="12" cy="9" r="4" stroke="currentColor" fill="none" stroke-width="1.2"/><path d="M4 20C4 16 8 14 12 14C16 14 20 16 20 20" stroke="currentColor" fill="none" stroke-width="1.2" stroke-linecap="round"/></svg>
<span class="tab-label">You</span>
</a>
</div>
</div>
</body>
</html>