*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,[role=button],a[href],input[type=button],input[type=submit],input[type=reset],select,summary{cursor:pointer}:root{--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--color-accent: #3B82F6;--color-accent-hover: #2563EB;--color-accent-pressed: #1D4ED8;--color-accent-light: #EFF6FF;--color-accent-muted: #93C5FD;--color-surface: #FFFFFF;--color-surface-secondary: #F9FAFB;--color-border: #E5E7EB;--color-text-primary: #111827;--color-text-secondary: #6B7280;--color-text-muted: #9CA3AF;--color-error: #DC2626;--color-error-light: #FEF2F2;--color-error-muted: #F87171;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 12px rgba(0, 0, 0, .1);--shadow-sticky: 0 -2px 8px rgba(0, 0, 0, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px}.text-heading{font-size:var(--font-size-lg);font-weight:600;line-height:1.4;color:var(--color-text-primary)}.text-subheading{font-size:var(--font-size-base);font-weight:500;line-height:1.5;color:var(--color-text-primary)}.text-body{font-size:var(--font-size-base);font-weight:400;line-height:1.5;color:var(--color-text-primary)}.text-caption{font-size:var(--font-size-xs);font-weight:400;line-height:1.4;color:var(--color-text-secondary)}.text-price{font-size:var(--font-size-base);font-weight:500;font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-primary)}.dc-px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.dc-py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.dc-py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.dc-p-4{padding:var(--space-4)}.dc-mb-2{margin-bottom:var(--space-2)}.dc-mt-2{margin-top:var(--space-2)}.dc-mt-4{margin-top:var(--space-4)}.dc-mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.dc-text-accent{color:var(--color-accent)}.dc-text-error{color:var(--color-error-muted)}.dc-font-semibold{font-weight:600}.dc-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
