*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #007AFF;--color-primary-dark: #0062CC;--color-primary-light: #47A1FF;--color-background: #F5F5F7;--color-surface: #FFFFFF;--color-text-primary: #1D1D1F;--color-text-secondary: #86868B;--color-border: #D2D2D7;--color-success: #34C759;--color-warning: #FF9F0A;--color-error: #FF3B30;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--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;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .4s ease}html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background);width:100%;min-height:100vh;overflow-x:hidden}#root{width:100%}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);border-radius:8px;border:1px solid transparent;background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition-fast)}button:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus{outline:none;box-shadow:0 0 0 3px #007aff4d}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);line-height:1.2;font-weight:600}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-base);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-surface);transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007aff1a}
