kalei/initial mockups/screens/ritual/47-ritual-quick.html

265 lines
9.9 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=390, initial-scale=1">
<title>Kalei — Quick Grounding Ritual</title>
<link rel="stylesheet" href="../../assets/design-system.css">
<style>
.ritual-progress-bar {
display: flex;
gap: 4px;
padding: var(--space-3) var(--space-4) 0;
}
.rp-seg {
flex: 1;
height: 4px;
border-radius: 2px;
background: var(--twilight);
transition: background 0.3s ease-out;
}
.rp-seg.done { background: var(--emerald); box-shadow: 0 0 6px rgba(16,185,129,0.4); }
.rp-seg.active { background: linear-gradient(to right, var(--emerald), var(--sapphire)); box-shadow: 0 0 8px rgba(16,185,129,0.3); animation: pulse-bar 2s ease-in-out infinite; }
@keyframes pulse-bar { 0%, 100% { opacity: 1; } 50% { opacity: 0.65; } }
.ritual-timer {
display: flex;
align-items: center;
gap: 4px;
font-size: 13px;
color: var(--dim-light);
}
.step-card {
background: var(--deep-glass);
border: 1px solid rgba(16,185,129,0.25);
border-radius: var(--radius-2xl);
padding: var(--space-5);
margin-bottom: var(--space-4);
box-shadow: 0 0 20px rgba(16,185,129,0.05);
}
.step-badge {
display: inline-flex;
align-items: center;
gap: var(--space-2);
padding: 4px 12px;
border-radius: var(--radius-full);
font-size: 11px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
margin-bottom: var(--space-3);
background: rgba(16,185,129,0.15);
color: var(--emerald-light);
}
.step-prompt {
font-size: 18px;
font-weight: 600;
color: var(--pure-light);
line-height: 1.45;
margin-bottom: 6px;
}
.step-subprompt {
font-size: 13px;
color: var(--dim-light);
line-height: 1.5;
margin-bottom: var(--space-4);
}
.thought-input {
width: 100%;
min-height: 90px;
background: var(--kalei-navy);
border: 1px solid var(--emerald);
border-radius: var(--radius-lg);
padding: 14px;
font-size: 16px;
line-height: 1.5;
color: var(--soft-light);
outline: none;
resize: none;
box-shadow: 0 0 12px rgba(16,185,129,0.08);
font-family: var(--font-primary);
}
.thought-input::placeholder { color: var(--faint-light); }
.char-count { text-align: right; font-size: 11px; color: var(--faint-light); margin-top: var(--space-2); }
.upcoming-steps {
background: var(--kalei-navy);
border: 1px solid var(--twilight);
border-radius: var(--radius-xl);
padding: var(--space-3) var(--space-4);
margin-bottom: var(--space-4);
}
.upcoming-step-row {
display: flex;
align-items: center;
gap: var(--space-3);
padding: var(--space-2) 0;
}
.upcoming-step-row:not(:last-child) { border-bottom: 1px solid var(--twilight); }
.upcoming-step-num {
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--twilight);
display: flex;
align-items: center;
justify-content: center;
font-size: 11px;
font-weight: 700;
color: var(--dim-light);
flex-shrink: 0;
}
.upcoming-step-num.current { background: var(--emerald); color: var(--void); box-shadow: 0 0 8px rgba(16,185,129,0.4); }
.aura-deco {
position: absolute;
top: 100px;
left: 50%;
transform: translateX(-50%);
width: 180px;
height: 180px;
border-radius: 50%;
background: radial-gradient(circle, rgba(16,185,129,0.09), transparent 70%);
filter: blur(40px);
pointer-events: none;
animation: breathing 6s ease-in-out infinite;
}
.btn-next {
width: 100%;
height: 52px;
background: var(--emerald);
border-radius: var(--radius-lg);
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 600;
color: var(--void);
text-decoration: none;
box-shadow: var(--glow-emerald);
border: none;
cursor: pointer;
gap: var(--space-2);
margin-bottom: var(--space-3);
transition: background 0.2s ease-out;
}
.btn-next:hover { background: var(--emerald-light); }
.quick-tip {
background: rgba(16,185,129,0.07);
border: 1px solid rgba(16,185,129,0.2);
border-radius: var(--radius-lg);
padding: var(--space-3) var(--space-4);
margin-bottom: var(--space-4);
font-size: 13px;
color: var(--emerald-light);
display: flex;
gap: var(--space-2);
align-items: flex-start;
line-height: 1.5;
}
.breathe-ring {
width: 52px;
height: 52px;
border-radius: 50%;
background: rgba(16,185,129,0.08);
border: 1.5px solid rgba(16,185,129,0.3);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto var(--space-3);
animation: breathing 6s ease-in-out infinite;
}
</style>
</head>
<body>
<div class="device-frame">
<!-- STATUS BAR -->
<div class="status-bar">
<span class="time">2:14</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>
<!-- NAV HEADER -->
<div class="nav-header">
<a class="nav-back" href="44-ritual-templates.html">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none">
<path d="M12 4L6 10L12 16" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</a>
<span class="nav-title">Quick Grounding</span>
<span class="nav-action">
<div class="ritual-timer">
<svg width="12" height="12" viewBox="0 0 12 12"><circle cx="6" cy="6" r="5" fill="none" stroke="currentColor" stroke-width="1"/><path d="M6 3v3l2 2" stroke="currentColor" stroke-width="1" stroke-linecap="round"/></svg>
1:08
</div>
</span>
</div>
<!-- STEP PROGRESS -->
<div class="ritual-progress-bar">
<div class="rp-seg active"></div>
<div class="rp-seg"></div>
</div>
<!-- Ambient decoration -->
<div class="aura-deco"></div>
<!-- SCREEN CONTENT -->
<div class="screen-content" style="padding-top: var(--space-5);">
<!-- Breathing ring -->
<div class="breathe-ring">
<svg width="22" height="22" viewBox="0 0 22 22" fill="none">
<circle cx="11" cy="11" r="8" fill="none" stroke="#6EE7B7" stroke-width="1.2" stroke-dasharray="3 3"/>
<circle cx="11" cy="11" r="4" fill="#10B981" opacity="0.4"/>
</svg>
</div>
<!-- Step Card -->
<div class="step-card">
<div class="step-badge">
<svg width="12" height="12" viewBox="0 0 12 12"><path d="M6 1L10 6L6 11L2 6Z" fill="currentColor" opacity="0.8"/></svg>
Step 1 — Name It
</div>
<div class="step-prompt">What thought is pulling you out of the present right now?</div>
<div class="step-subprompt">One sentence is enough. You don't need to solve it — just name it.</div>
<textarea class="thought-input" placeholder="I keep thinking about..."></textarea>
<div class="char-count">0 / 280</div>
</div>
<!-- Quick tip -->
<div class="quick-tip">
<svg width="14" height="14" viewBox="0 0 14 14" style="flex-shrink:0; margin-top: 1px;"><circle cx="7" cy="7" r="5.5" fill="none" stroke="currentColor" stroke-width="1"/><path d="M7 4v3.5M7 9.5v.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>
Keep it brief. One sentence captures the essence. You'll reframe it in the next step.
</div>
<!-- Steps overview -->
<div class="label text-dim" style="margin-bottom: var(--space-2);">2 Steps · ~2 min total</div>
<div class="upcoming-steps">
<div class="upcoming-step-row">
<div class="upcoming-step-num current">1</div>
<div style="flex:1; font-size:14px; color: var(--soft-light);">Name the thought</div>
<span style="font-size: 12px; color: var(--dim-light);">~1 min</span>
</div>
<div class="upcoming-step-row">
<div class="upcoming-step-num">2</div>
<div style="flex:1; font-size:14px; color: var(--faint-light);">Ground it with a reframe</div>
<span style="font-size: 12px; color: var(--faint-light);">~1 min</span>
</div>
</div>
<!-- Navigation -->
<a href="48-ritual-complete.html" class="btn-next">
Continue
<svg 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 href="44-ritual-templates.html" style="text-align: center; display: block; font-size: 14px; color: var(--faint-light); text-decoration: none; padding: var(--space-2); margin-bottom: var(--space-4);">Exit Ritual</a>
</div>
</div>
</body>
</html>