// Shared design tokens + small primitives for Life OS window.T = { // iOS system colors (light) bg: '#F2F2F7', bg2: '#FFFFFF', bg3: '#FAFAFC', label: '#000000', label2: 'rgba(60,60,67,0.72)', label3: 'rgba(60,60,67,0.45)', label4: 'rgba(60,60,67,0.25)', sep: 'rgba(60,60,67,0.10)', blue: '#007AFF', green: '#34C759', red: '#FF3B30', orange: '#FF9500', yellow: '#FFCC00', pink: '#FF2D55', purple: '#AF52DE', indigo: '#5856D6', teal: '#5AC8FA', // typography sizes (Apple Type Ramp) fz: { huge: 34, t1: 28, t2: 22, t3: 20, head: 17, body: 17, callout: 16, sub: 15, foot: 13, c1: 12, c2: 11, }, }; // Reusable card function Card({ children, style = {}, onClick, padded = true }) { return (
{children}
); } // Section header (small caps) function Section({ title, action, children, style }) { return (
{title}
{action}
{children}
); } // Glass pill (more subtle than the device-frame one) function Pill({ children, dark = false, style = {}, onClick, padded = true }) { return (
{children}
); } // Small inline color chip (relationship type tags etc) function Dot({ color, size = 8, style }) { return ; } // Nicely-formatted Hebrew/English mixed line. The string is already mixed. function Bi({ children, style }) { return {children}; } // Linear gradient bg helper const grad = (a, b, dir = '135deg') => `linear-gradient(${dir}, ${a}, ${b})`; Object.assign(window, { Card, Section, Pill, Dot, Bi, grad });