--- name: Atmospheric Glass colors: surface: "#0b1326" surface-dim: "#0b1326" surface-bright: "#31394d" surface-container-lowest: "#060e20" surface-container-low: "#131b2e" surface-container: "#171f33" surface-container-high: "#222a3d" surface-container-highest: "#2d3449" on-surface: "#dae2fd" on-surface-variant: "#c4c7c8" inverse-surface: "#dae2fd" inverse-on-surface: "#283044" outline: "#8e9192" outline-variant: "#444748" surface-tint: "#c6c6c7" primary: "#ffffff" on-primary: "#2f3131" primary-container: "#e2e2e2" on-primary-container: "#636565" inverse-primary: "#5d5f5f" secondary: "#adc9eb" on-secondary: "#14324e" secondary-container: "#304b68" on-secondary-container: "#9fbbdd" tertiary: "#ffffff" on-tertiary: "#620040" tertiary-container: "#ffd8e7" on-tertiary-container: "#ab3779" error: "#ffb4ab" on-error: "#690005" error-container: "#93000a" on-error-container: "#ffdad6" primary-fixed: "#e2e2e2" primary-fixed-dim: "#c6c6c7" on-primary-fixed: "#1a1c1c" on-primary-fixed-variant: "#454747" secondary-fixed: "#d0e4ff" secondary-fixed-dim: "#adc9eb" on-secondary-fixed: "#001d35" on-secondary-fixed-variant: "#2d4965" tertiary-fixed: "#ffd8e7" tertiary-fixed-dim: "#ffafd3" on-tertiary-fixed: "#3d0026" on-tertiary-fixed-variant: "#85145a" background: "#0b1326" on-background: "#dae2fd" surface-variant: "#2d3449" typography: display-lg: fontFamily: Inter fontSize: 84px fontWeight: "700" lineHeight: 90px letterSpacing: -0.04em headline-lg: fontFamily: Inter fontSize: 32px fontWeight: "600" lineHeight: 40px letterSpacing: -0.02em headline-md: fontFamily: Inter fontSize: 24px fontWeight: "500" lineHeight: 32px body-lg: fontFamily: Inter fontSize: 18px fontWeight: "400" lineHeight: 28px body-md: fontFamily: Inter fontSize: 16px fontWeight: "400" lineHeight: 24px label-sm: fontFamily: Inter fontSize: 12px fontWeight: "600" lineHeight: 16px letterSpacing: 0.05em rounded: sm: 0.25rem DEFAULT: 0.5rem md: 0.75rem lg: 1rem xl: 1.5rem full: 9999px spacing: unit: 8px container-padding: 24px card-gap: 16px section-margin: 40px glass-padding: 20px components: glass-card-standard: backgroundColor: rgba(255, 255, 255, 0.1) textColor: "{colors.primary}" rounded: "{rounded.lg}" padding: "{spacing.glass-padding}" glass-card-elevated: backgroundColor: rgba(255, 255, 255, 0.2) textColor: "{colors.primary}" rounded: "{rounded.xl}" padding: "{spacing.glass-padding}" button-primary: backgroundColor: "{colors.primary}" textColor: "{colors.on-primary}" typography: "{typography.label-sm}" rounded: "{rounded.xl}" height: 48px padding: 0 24px button-primary-hover: backgroundColor: "{colors.primary-fixed-dim}" button-ghost: backgroundColor: rgba(255, 255, 255, 0.05) textColor: "{colors.primary}" typography: "{typography.label-sm}" rounded: "{rounded.xl}" input-field: backgroundColor: rgba(255, 255, 255, 0.1) textColor: "{colors.primary}" typography: "{typography.body-md}" rounded: "{rounded.xl}" padding: 20px height: 48px weather-display-large: textColor: "{colors.primary}" typography: "{typography.display-lg}" metric-label: textColor: "{colors.on-surface-variant}" typography: "{typography.label-sm}" list-item-interactive: backgroundColor: transparent rounded: "{rounded.md}" padding: 12px list-item-interactive-hover: backgroundColor: rgba(255, 255, 255, 0.1) --- ## Brand & Style This design system centers on a high-fidelity Glassmorphism aesthetic designed to evoke a sense of clarity, depth, and modern sophistication. The brand personality is ethereal yet functional, transforming complex meteorological data into a serene visual experience. The UI relies on a "vibrant-minimalist" approach: the background provides the energy through multi-colored abstract gradients (pinks, purples, and blues), while the interface elements act as frosted crystalline lenses that focus the user's attention. The emotional response is intended to be calm and premium, utilizing transparency and blur to simulate physical layers of glass floating in a fluid, digital space. ## Colors The color strategy prioritizes luminosity and contrast. Because the background is a vibrant, multi-colored abstract composition, the UI components utilize a monochromatic white palette with varying alpha channels to maintain legibility. - **Primary Canvas:** A multi-stop linear or radial gradient background featuring Deep Blue (#1E3A8A), Vivid Purple (#7E22CE), and Soft Pink (#DB2777). - **Surface Alpha:** Component backgrounds are never solid. They range from `rgba(255, 255, 255, 0.1)` for secondary depth to `0.2` for primary interaction areas. - **Accents:** Semantic colors for weather conditions (e.g., Warning Yellow, Rain Blue) should be applied with high saturation but low opacity fills to maintain the glass effect. - **Text:** Strictly white (#FFFFFF) or high-tint silver (#E2E8F0) to ensure WCAG compliance against the vibrant background. ## Typography The design system utilizes **Inter** for its neutral, geometric clarity which balances the organic nature of the blurred backgrounds. - **Hierarchy:** Large display sizes are used for temperature readings to create a clear focal point. - **Legibility:** On frosted glass, font weight is increased by one tier (e.g., using Medium instead of Regular) to counteract the visual noise of the background blur. - **Treatment:** Subtle text-shadows (`0px 2px 4px rgba(0,0,0,0.15)`) may be applied to small labels to ensure they "pop" against lighter areas of the background gradient. ## Layout & Spacing The layout follows a fluid, contextual model. Elements are grouped into "Glass Containers" that float within the safe areas of the viewport. - **Rhythm:** An 8px base grid governs all dimensions. - **Grouping:** Related weather metrics (humidity, wind, UV index) are housed in a CSS grid or flex layout with 16px gaps. - **Negative Space:** Generous outer margins (24px+) are maintained to ensure the vibrant background is visible, reinforcing the "floating" nature of the interface. ## Elevation & Depth Depth in this design system is not achieved through darkness, but through the physics of light and refraction. - **The Glass Stack:** - **Level 1 (Base):** Dynamic background gradient with a slight grain texture. - **Level 2 (Standard Card):** `backdrop-filter: blur(20px)`, `background: rgba(255, 255, 255, 0.1)`. - **Level 3 (Elevated/Modals):** `backdrop-filter: blur(40px)`, `background: rgba(255, 255, 255, 0.2)`. - **Edge Definition:** Every glass surface must have a 1px solid border at `rgba(255, 255, 255, 0.2)`. A secondary inner "shine" border (top and left only) can be used to simulate a light source. - **Shadows:** Use extremely soft, spread-out shadows (`box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.1)`) to separate the glass layers from the background without making the UI feel "heavy." ## Shapes The shape language is organic and approachable. This design system uses "Rounded" (Level 2) settings to complement the fluid nature of the background. - **Cards:** Use `1rem` (16px) for standard weather cards. - **Action Elements:** Buttons and search bars use `rounded-xl` (1.5rem / 24px) to create a soft, tactile feel. - **Icons:** Weather iconography should be line-based with rounded caps (2px stroke width) to match the border weights of the containers. ## Components ### Glass Containers Standard cards use a 20px blur for general metrics, while elevated cards (modals or focal points) use 40px blur and higher opacity to sit physically higher in the stack. All glass elements must feature a 1px white border to simulate light refraction on the edges. ### Action Elements Buttons use the `rounded-xl` setting to maintain a soft, organic feel. Primary buttons are solid white for maximum contrast, while ghost buttons utilize backdrop filters to remain integrated with the atmospheric background. ### Inputs & Interaction Interactive list items and text inputs use subtle hover states and light blurs rather than solid color changes, preserving the "crystalline" transparency of the UI. ### Typography Application Large weather displays utilize subtle text shadows to maintain legibility against the unpredictable colors of the background gradient. Metric labels should remain secondary in hierarchy using the silver-tinted `on-surface-variant` color.