:root{--color-primary: #00c1de;--color-primary-light: #33d0e7;--color-primary-dark: #00a8c4;--color-on-primary: #ffffff;--color-secondary: #002c47;--color-on-secondary: #ffffff;--color-favorite: #fefb41;--color-favorite-bg: #ecf2f2;--color-surface-default: #ffffff;--color-surface-inverse: #101010;--color-page-background: #edf3f3;--color-page-background-default: #ecf2f2;--color-on-surface-default: #101010;--color-on-surface-inverse: #ffffff;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-dark: #dc2626;--color-alert: #de0000;--color-on-alert: #ffffff;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-dark: #2563eb;--color-surface: var(--color-surface-default);--color-surface-secondary: var(--color-gray-50);--color-surface-hover: var(--color-gray-100);--color-background: var(--color-page-background);--color-border: var(--color-gray-200);--color-text-primary: var(--color-on-surface-default);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-inverse: var(--color-on-surface-inverse);--spacing-0: 0;--spacing-4: .25rem;--spacing-8: .5rem;--spacing-16: 1rem;--spacing-24: 1.5rem;--spacing-32: 2rem;--spacing-40: 2.5rem;--spacing-48: 3rem;--spacing-80: 5rem;--spacing-96: 6rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4-legacy: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8-legacy: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-20: 5rem;--font-family-heading: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-body: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-action: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-base: var(--font-family-body);--font-family-mono: "Fira Code", "Courier New", monospace;--font-size-h2: 3.75rem;--font-size-h3: 2.5rem;--font-size-h4: 1.25rem;--font-size-body: 1rem;--font-size-body-small: .875rem;--font-size-action: 1rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--line-height-h2: 3.75rem;--line-height-h3: 3rem;--line-height-h4: 2rem;--line-height-body: 1.75rem;--line-height-body-small: 1.25rem;--line-height-action: 1.75rem;--font-weight-heading: 400;--font-weight-body: 400;--font-weight-action: 700;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}[data-theme=dark]{--color-surface: var(--color-gray-800);--color-surface-secondary: var(--color-gray-900);--color-surface-hover: var(--color-gray-700);--color-background: var(--color-gray-900);--color-border: var(--color-gray-700);--color-text-primary: var(--color-gray-100);--color-text-secondary: var(--color-gray-400);--color-text-tertiary: var(--color-gray-500)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{font-family:inherit;font-size:inherit;line-height:inherit;border:none;background:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}.loading-centered{display:flex;justify-content:center;padding:var(--spacing-16)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-8)}.form-label{font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-bold);color:var(--color-on-surface-default)}.form-label__required{color:var(--color-danger);margin-left:2px}.form-label__optional{font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);margin-left:4px}.form-input{font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-normal);color:var(--color-on-surface-default);background:var(--color-surface-default);border:1px solid var(--color-on-surface-default);border-radius:0;padding:var(--spacing-8);outline:none;width:100%;box-sizing:border-box}.form-input::placeholder{color:var(--color-text-tertiary)}.form-input:focus{border-color:var(--color-on-surface-default);box-shadow:none}.form-input--error{border-color:var(--color-danger)}.form-input--readonly{background-color:var(--color-page-background-default);color:var(--color-on-surface-default);cursor:default;opacity:.7}.form-error{font-family:var(--font-family-body);font-size:var(--font-size-body-small);line-height:var(--line-height-body-small);color:var(--color-danger)}.form-select-wrapper{position:relative;display:flex;align-items:center}.form-select-wrapper--error .form-select{border-color:var(--color-danger)}.form-select-wrapper--disabled{opacity:.5;cursor:not-allowed}.form-select-wrapper--disabled .form-select{cursor:not-allowed;background-color:var(--color-page-background-default)}.form-select{font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-normal);color:var(--color-on-surface-default);background:var(--color-surface-default);border:1px solid var(--color-on-surface-default);border-radius:0;padding:var(--spacing-8) 40px var(--spacing-8) var(--spacing-8);width:100%;appearance:none;-webkit-appearance:none;cursor:pointer;outline:none}.form-select:focus{border-color:var(--color-on-surface-default);box-shadow:none}.form-select__arrow{position:absolute;right:var(--spacing-8);width:24px;height:24px;pointer-events:none;flex-shrink:0}.btn-action{display:inline-flex;align-items:center;gap:var(--spacing-8);font-family:var(--font-family-action);font-size:var(--font-size-action);font-weight:var(--font-weight-bold);line-height:var(--line-height-action);border-radius:0;cursor:pointer;white-space:nowrap;padding:var(--spacing-8) var(--spacing-24);transition:background-color var(--transition-fast),opacity var(--transition-fast)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action--primary{background-color:var(--color-primary);color:var(--color-on-secondary);border:none;padding:var(--spacing-8) var(--spacing-24) var(--spacing-8) var(--spacing-16)}.btn-action--primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-action--primary img{filter:brightness(0) invert(1)}.btn-action--outline{background:var(--color-surface-default);border:1px solid var(--color-on-surface-default);color:var(--color-on-surface-default)}.btn-action--outline:hover:not(:disabled){background:var(--color-page-background-default)}.btn-action--danger{background:var(--color-alert);border:1px solid var(--color-on-alert);color:var(--color-on-alert)}.btn-action--danger:hover:not(:disabled){opacity:.9}.btn-action__icon{width:24px;height:24px;flex-shrink:0}.gem-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px var(--spacing-16);background-color:var(--color-secondary);border-radius:var(--spacing-48);font-family:var(--font-family-body);font-size:var(--font-size-body-small);font-weight:var(--font-weight-bold);line-height:var(--line-height-body-small);color:var(--color-primary);white-space:nowrap}.gem-chip--inverted{color:var(--color-on-secondary)}.gem-chip--more{flex-shrink:0;cursor:default}.gem-page-content{display:flex;flex-direction:column;gap:var(--spacing-24);align-items:center}.gem-section-header{margin-bottom:var(--spacing-40)}.gem-card-container{display:flex;flex-direction:column;gap:var(--spacing-24);padding-bottom:var(--spacing-80)}.show-more-container{display:flex;justify-content:center;padding-top:var(--spacing-16)}.gem-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-24)}@media (max-width: 1024px){.gem-card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.gem-card-grid{grid-template-columns:1fr}}#app{min-height:100vh;background-color:var(--color-background)}
