/* ============================================================ WorkStay — cinematic CSS scenes + icon set exports to window: Scene, Icon ============================================================ */ /* Palette per scene variant: [sky/view top, view mid, horizon glow, room warm] */ const SCENE_PALETTES = { ocean: { a: '#1b3a4b', b: '#2d6f86', c: '#e7a373', d: '#1a1410', sun: '#f4c98a', accent: '#7fb6c9' }, mountain: { a: '#1d2433', b: '#3a4f63', c: '#c9b08a', d: '#15130f', sun: '#e9d3a8', accent: '#8aa0b8' }, urban: { a: '#171722', b: '#2a2740', c: '#9d90f6', d: '#120f14', sun: '#c9a0f0', accent: '#7c6cf0' }, studio: { a: '#14140f', b: '#2a2820', c: '#e7c37a', d: '#100f0c', sun: '#f2d79a', accent: '#c9bda8' }, creative: { a: '#241626', b: '#4a2b46', c: '#e78aa3', d: '#160f14', sun: '#f0a6c0', accent: '#d98ab0' }, warm: { a: '#211710', b: '#3d2a1a', c: '#e7a373', d: '#140e09', sun: '#f4c177', accent: '#c9956a' }, }; function Scene({ variant = 'ocean', children, className = '', style = {}, plants = true, sill = true }) { const p = SCENE_PALETTES[variant] || SCENE_PALETTES.ocean; return (
{/* the view through a window */}
{/* sun glow */}
{/* horizon line */}
{/* room ambient warm wash from bottom */}
{/* window mullion frame */} {sill && (
)} {/* plant silhouette */} {plants && ( )} {/* desk lamp warm pool, lower right */}
{/* vignette */}
{children}
); } /* ---------------- Icon set (stroked, 24x24) ---------------- */ const ICONS = { wifi: <>, quiet: <>, power: <>, desk: <>, long: <>, light: <>, video: <>, ergo: <>, bolt: <>, shield: <>, search: <>, pin: <>, cal: <>, heart: <>, star: <>, arrow: <>, arrowUR:<>, check: <>, user: <>, grid: <>, gauge: <>, wave: <>, coffee: <>, dumbbell:<>, train: <>, cart: <>, plus: <>, minus: <>, }; function Icon({ name, size = 20, stroke = 1.6, style = {}, className = '' }) { return ( {ICONS[name] || null} ); } Object.assign(window, { Scene, Icon, SCENE_PALETTES });