:root{--warm-sand: #f1e7db;--cloud-white: #fafaf7;--forest-deep: #153a32;--selah-green: #3f7a4c;--sun-glow: #f6c95c;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Inter", -apple-system, system-ui, sans-serif;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 48px;--radius: 12px;--radius-card: 20px;--shadow: 0 8px 32px rgba(21, 58, 50, .08);--bar-height: 56px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--warm-sand);color:var(--forest-deep);font-family:var(--sans);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}.verse{font-family:var(--serif);font-size:32px;line-height:40px;font-style:italic}.title{font-family:var(--serif);font-size:24px;line-height:32px}.body{font-size:16px;line-height:24px}.caption{font-size:12px;line-height:16px}.app{min-height:100%;display:flex;flex-direction:column}.screen{flex:1;width:100%;max-width:560px;margin:0 auto;padding:var(--space-3);padding-bottom:calc(var(--bar-height) + var(--space-3));display:flex;flex-direction:column}.centered{justify-content:center;align-items:center;text-align:center}.mark{font-family:var(--serif);font-size:24px;letter-spacing:.4em;color:var(--sun-glow);text-align:center;padding-top:var(--space-2)}.mark-subtitle{color:var(--forest-deep);opacity:.55;text-align:center;margin-top:var(--space-1)}.field{width:100%;background:var(--cloud-white);border:none;border-radius:var(--radius);padding:var(--space-2);font-family:var(--sans);font-size:16px;line-height:24px;color:var(--forest-deep);resize:none}.field:focus{outline:1px solid var(--selah-green)}.field::placeholder{color:var(--forest-deep);opacity:.35}.helper{color:var(--forest-deep);opacity:.5;margin-top:var(--space-1)}.submit{align-self:flex-end;margin-top:var(--space-3);width:48px;height:48px;border:none;border-radius:var(--radius);background:var(--forest-deep);color:var(--cloud-white);font-size:18px;cursor:pointer;transition:opacity .3s ease}.submit:disabled{opacity:.25;cursor:default}.quiet-link{background:none;border:none;padding:0;color:var(--selah-green);font-family:var(--sans);font-size:12px;line-height:16px;text-decoration:underline;cursor:pointer}.card{background:var(--cloud-white);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.movement-label{color:var(--forest-deep);opacity:.5;margin-bottom:var(--space-2)}.story-ref{font-family:var(--serif);color:var(--selah-green);margin-bottom:var(--space-1)}.one-word{color:var(--selah-green);font-family:var(--serif);font-size:24px;line-height:32px;font-style:italic;text-align:center}.bar{position:fixed;bottom:0;left:0;right:0;height:var(--bar-height);background:var(--warm-sand);display:flex;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.timeline{width:100%;max-width:560px;height:100%;margin:0 auto;display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.timeline::-webkit-scrollbar{display:none}.timeline-track{margin-left:auto;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3)}.tl-date{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-1) 0;border:none;background:none;color:var(--forest-deep);font-family:var(--sans);white-space:nowrap;opacity:.4;cursor:pointer;transition:opacity .2s ease,color .2s ease}.tl-date:hover{opacity:.75}.tl-date.is-active{opacity:1;color:var(--selah-green)}.tl-date:focus-visible{outline:1px solid var(--selah-green);border-radius:var(--radius)}.tl-swash{display:flex;align-items:center;justify-content:center;height:6px}.breath{width:120px;height:120px;border-radius:50%;background:var(--selah-green);opacity:.4;animation:breathe 4s ease-in-out infinite}.pause-word{font-family:var(--serif);font-size:24px;line-height:32px;font-style:italic;color:var(--forest-deep);opacity:.6;margin-top:var(--space-4)}.pause-phrase{font-size:14px;line-height:20px;color:var(--forest-deep);opacity:.5;margin-top:var(--space-3);transition:opacity .4s ease}.pause-phrase-hidden{opacity:0}@keyframes breathe{0%,to{transform:scale(.8);opacity:.3}50%{transform:scale(1.2);opacity:.55}}.fade-in{animation:fade .4s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.breath{animation:none;opacity:.35}.pause-word{animation:pulse 4s ease-in-out infinite}.fade-in{animation:none}@keyframes pulse{0%,to{opacity:.35}50%{opacity:.75}}}
